Extrait du manuel de formation avec analyses et études de cas sur Matlab
1 Introduction
Matlab (MATrix LABoratory) est un logiciel pour le calcul scientifique, orienté vers le vecteurs et les listes de données. Matlab est un langage interpreté chaque ligne d’un programme Matlab est lue, interprétée et exécutée.
Pour entrer dans Matlab cliquez sur Start/Programmes/Matlab sous l’environnement Windows, ou tapez matlab au prompt de la shell sous Unix. Matlab se présente avec un environnement interactif et un prompt (généralement >>) dans lequel on peut introduire des commandes. Par exemple, pour sortir de Matlab tapez la commande:
>> quit
2 Aide en ligne
Matlab offre une aide en ligne trés compléte. Tapez:
>> help commande
pour une explication de l’utilisation de la commande Matlab commande
>> lookfor sujet
pour une liste des commandes Matlab qui concernent le sujet sujet
>> helpwin
pour ouvrir un guide des commandes Matlab sur diff´erents sujets.
3 Déclaration des variables
Matlab permet de cr´eer et d’initialiser des variables. La d´eclaration des variables en Matlab
suit les r`egles suivantes:
• toutes les variables sont des matrices
• pas de d´eclaration de type
>> a=5 variable scalaire (1 × 1)
>> b=[4 6] vecteur ligne (1 × 2)
>> c=[-5; 2] vecteur colonne (2 × 1)
>> d=[2 3; -1 7] matrice carr´ee (2 × 2)
Dans ces exemples on a utilis´e les op´erateurs suivants:
• s´eparateur de ligne: point virgule ou return
• s´eparateur de colonne: virgule ou espace blanc
4 Workspace
Matlab permet de connaitre plusieurs informations sur les variables d´eclarées. Tapez:
5 Operations fondamentales
Matlab peut effectuer plusieurs op´erations entre matrices. Les op´erations fondamentales
peuvent ˆetre partag´ees en deux cat´egories.
Op´erations matricielles
Les op´erations matricielles usuelles sont d´efinies par +, -, *, /, ^
>> C = A + B est la somme matricielle, C
>> C = A * B est le produit matriciel, C
>> C = A / B est la division matricielle, C = AB
>> C = A^3 est la troisi`eme puissance matricielle (C = A*A*A)
Il faut remarquer que cettes op´erations sont bien d´efinies seulement si les matrices ont des
dimensions coh´erentes. Pour l’addition A+B, A et B doivent avoir la mˆeme taille; pour le
produit A*B, le nombre des colonnes de A et le nombre des lignes de B doivent ˆetre ´egaux;
les op´erations A/B et B^3 demandent une matrice B carr´ee.
6 Manipulation des matrices
Apr`es avoir d´efini la matrice A (par exemple la matrice carr´ee A de taille n), Matlab permet les op´erations suivantes sur les sous-matrices de A.
Extraction de sous-matrices
>> A(2,3) extraction de l’ ´el´ement A23
>> A(:,5) extraction de la colonne [A13
; . . . ; An3
]
>> A(1:4,3) extraction de la sous-colonne [A13
; . . . ; A43
]
>> A(1,:) extraction de la ligne [A1j , . . . ,A
1n
]
>> diag(A) extraction de la diagonale [A11
; . . . ; Ann
]
7 Graphisme 2D
Matlab offre plusieurs possibilit´es pour tracer un graphe en 2D. On va en pr´esenter deux:
la commande plot et la commande fplot.
Avant d’expliquer ces deux commandes en d´etail, on souligne qu’avec plot on doit toujours utiliser des vecteurs, alors qu’avec fplot non.
On consid`ere maintenant la fonction f (x) = x3− 2 sin x + 1 et on voit comment on peut tracer son graphe dans l’intervalle [−1, 1], en utilisant les commandes plot et fplot.
Commande plot
Pour tracer le graphe de f (x) il faut passer par les ´etapes suivantes :
• D´efinir la fonction f (x) :
>> f = ’x.^3 – 2*sin(x) + 1’;
le mot f contient la d´efinition de la fonction choisie (les guillemets font partie de la d´efinition dans la syntaxe Matlab).
• D´efinir un vecteur de points dans l’intervalle donn´e:
>> x = [-1:0.1:+1];
on a d´efini un vecteur de 21 points equidistribu´es dans l’intervalle donn´e, avec un pas de 0.1.
•Evaluer la fonction f dans l’intervalle [−1, 1], en utilisant la commande eval:
>> y = eval(f);
8 Boucles de controle
Matlab offre, comme plusieurs autres langages, quelques boucles de contrˆole. Cettes com-mandes sont sp´ecialement utiles pour ´ecrire des programmes Matlab.
Boucle for
Si l’on veut ex´ecuter des instructions pour chaque valeur
i = m, m + 1, . . . , n
d’une certaine variable i entre deux bornes assign´es m et n, on utilise for. Par exemple pour calculer le produit scalaire ps entre deux vecteurs x et y de taille n on utilise:
>> ps = 0;
>> for i = 1:n;
>> ps = ps + x(i)*y(i);
>> end;
Cette boucle est ´equivalente au le produit matriciel entre le vecteur transpos´e de x et le vecteur y, en supposant que les facteurs soient deux vecteurs colonne:
>> ps = x’*y;
Boucle while
Si l’on veut ex´ecuter plusieurs fois des instructions tandis qu’une expression logique est vraie, on utilise while. Par exemple, le mˆeme calcul qu’on a consid´er´e avec la boucle for peut ˆetre ex´ecut´e avec
>> ps = 0;
>> i = 0;
>> while (i < n);
>> i = i + 1;
>> ps = ps + x(i)*y(i);
>> end;
……..
Manuel de formation avec analyses et études de cas sur Matlab (223 kO) (Cours PDF)