Vous êtes sur la page 1sur 8

Nom : Date :

Prénom :

Faculté des sciences et ingénierie (Toulouse III) Année scolaire


Département de mathématiques – L3 MMESI 2011-2012
Analyse numérique I
TP no 1 – Premiers pas en MATLAB

1 Prise en main de l’environnement matlab


L’environnement de travail matlab est souple d’utilisation et évolutif car il permet de
travailler soit interactivement en passant des commandes directement au clavier (comme
une calculatrice), soit de réaliser des programmes (scripts) ou de définir des fonctions
en plaçant ces commandes dans des fichiers texte, le nom de ces fichiers constituant des
nouvelles commandes matlab.

Utilisation de l’aide en ligne Une aide est intégrée pour chercher les noms des
fonctions et programmes pré-existants dans matlab. Ainsi, si vous connaissez le nom de
la fonction que vous devez utiliser, alors pour en avoir un descriptif et un mode d’emploi
(éventuellement des options, les paramètres d’entrée, etc.), il faudra taper :
h e l p nom_de_la_commande
Que renvoie la fonction log ? Est-ce le logarithme en base 10 ? le logarithme népérien ?

Manipulation de la ligne de commande Réaliser quelques opérations simples di-


rectement en mode interactif (lignes de commande).

Notion de script Un script matlab est une succession de commandes stockées dans
un fichier ayant pour extension .m (par exemple monsuperscript.m).
– Pour exécuter un script, il suffit de taper son nom (monsuperscript par exemple)
en ligne de commande. Si le fichier monsuperscript.m se trouve dans le répertoire
courant (celui où vous avez ouvert matlab), alors matlab sera capable de lire le
fichier et d’exécuter toutes les commandes qu’il contient, les unes à la suite des
autres.
– La rédaction d’un programme dans un script permet enfin de pouvoir donner à
matlab des paramètres d’entrée (par exemple pour définir des fonctions).
– Toute ligne commençant par le caractère % est considérée comme une ligne de
commentaire.

1
2 Syntaxe de base et commandes élémentaires
Affecter une valeur, afficher ou non un résultat Effectuer les commandes sui-
vantes et expliquer la fonction du « ; ».
x =1.23456
y =1.23456;
x
y

Opérations courantes Comment fait-on pour définir un réel non entier (virgule ?
point ?) Comment fait-on pour additionner, soustraire, multiplier, diviser des réels ?
Comment élève-t-on un réel à une puissance entière ?


Fonctions classiques Comment calcule-t-on la valeur absolue d’un réel ? Calculer 2,
exp(3), ln 2, log10 (100), cos(π/4).

Commandes à utiliser :
pi exp sqrt log cos abs

Variables complexes Que valent i et j ? Comment matlab définit-il les complexes ?


Comment déclarer une variable complexe en écriture algébrique (z1 = 2+3i) ? en écriture
trigonométrique (z2 = cos π/6 + i sin π/6) ?

2
Comment obtenir le conjugué d’un complexe ? son module ? sa partie réelle ? sa partie
imaginaire ? son argument ? Tester sur z1 et z2.

Commandes à utiliser :
real imag abs an g le conj ’

Arithmétique Comment calcule-t-on des congruences ? la factoriel d’un entier natu-


rel ? la décomposition en facteurs premiers d’un entier ? la partie entière ?

Quelle est différence entre les commandes ceil , floor, round et fix ? Expliquer au travers
d’exemples.

Que renvoie la commande rand ?

Commandes à utiliser :
factor ceil floor factorial mod rand fix round

3
3 Création de variables
Définition d’un vecteur Tester les commandes suivantes et en déduire comment dé-
finir un vecteur ligne de taille 5 puis un vecteur colonne de taille 5. Comment transformer
un vecteur ligne en vecteur colonne ?
x =[1 2 3 4 5 ]
y =[1 ,2 ,3 ,4 ,5]
z =[1;2;3;4;5]
z’

Que renvoient les commandes suivantes ?


0:0.1:1 linspace (0 ,1 ,10) rand ( 1 , 1 0 ) s o r t ( rand ( 1 , 1 0 ) )

En déduire :
1. Comment générer un vecteur ligne contenant les valeurs de 4 à 6 espacées d’un pas
0.1.

2. Comment générer un vecteur ligne contenant 10 valeurs également espacées entre


4 et 6.

3. Comment générer un vecteur ligne contenant 10 valeurs aléatoirement espacées


entre 4 et 6.

4
Taille d’un vecteur Comment demander à matlab la taille ou la nature d’un vecteur
ou d’une matrice ? Expliquer la différence entre les commandes size et length.

Commandes à utiliser :
whos size length

Opérations particulières sur les vecteurs Comment extraire la i-ème composante


d’un vecteur ? Que renvoient les commandes x(3:4) ou x(2:5) appliquées au vecteur x
défini précédemment ?

On définit les vecteurs x = [1 2 3 4 5] et y = [i − 1 2 1/2 3]. Tester les commandes


suivantes :
x∗y x .∗ y x ∗y ’ sum( x . ∗ y ) x+1 y ./ x
Expliquer ce qu’elles renvoient.

Définition de matrices Pour définir une matrice avec matlab, on la définit par
lignes et on sépare les lignes d’un « ; ».
 
0 1 0 −1
 −2 i 3 2 
A= A= [ 0 , 1 , 0 , − 1 ; −2, i , 3 , 2 ; 3 , 1 , j , −1; − 1 , 2 , 0 , 1 ]
 
3 1 j −1 


−1 2 0 1

5
Opérations élémentaires sur les matrices Comment extraire les 3 premières lignes
et les 2 premières colonnes de A (i.e. comment générer A(1 : 3, 1 : 2)) ?

Comment multiplier deux matrices ? Comment multiplier terme à terme deux matrices ?
Comment générer la transposée de A ?

Matrices particulières Que renvoient les commandes suivantes ?


eye ( 4 ) zeros (4) zeros (3 ,2) ones ( 4 ) ones ( 1 , 3 )

diag ( x ) d i a g (A) d i a g ( x , −1) diag ( x , 1 )

6
Générer les matrices suivantes, uniquement à l’aide des commandes ci-dessus sur les
matrices particulières.
     
1 2 2 2 2 i 1 1 1 1 1 3 0 0 0

 2 1 2 2 2 


 1 2 1 1 1 


 −2 1 3 0 0 

A= 2 2 1 2 2 , B =  1 1 −1 1 1 , C =  0 −2 1 3 0
     

0 −2 1
     
 2 2 2 1 2   1 1 1 3 1   0 3 
2 2 2 2 1 1 1 1 1 4 0 0 1 −2 1

Outils spécifiques à l’algèbre linéaire Comment calculer le déterminant, la trace,


le rang, les éléments propres d’une matrice ?

Commandes à utiliser :
det rank trace eig

Polynômes caractéristiques Calculer ("à la main") le polynôme caractéristique de


la matrice suivante :  
1 2 −3
A= 1 4 −5  .
 
0 2 −2
Expliquer ce que renvoie la commande
p o l y (A)

7
Créer la matrice compagnon suivante :

0 −1
 
0 0 0 0

 1 0 0 0 0 0 
 0 1 0 0 0 2 
A=
 
0 0 1 0 0 1 


 
 0 0 0 1 0 −1 
0 0 0 0 1 3

Générer le polynôme caractéristique de A et vérifier "à la main".


Commandes à utiliser :
poly

 N’oubliez pas de rendre le TP,


avec vos nom et prénom
~

Vous aimerez peut-être aussi