Vous êtes sur la page 1sur 10

1

[1]UMBB [1] Realise par : Dr C. ADICHE


2
Chapitre 1

Generalites sur MATLAB

1.1 Presentation

MATLAB (MATrix LABoratory) est un ensemble doutils informatiques, utilise dans de nom-
breux domaines dapplication, pour le developpement de programmes qui integrent le calcul
numerique, la visualisation et les interface graphiques. Il est base sur le calcul matriciel. len-
vironnement se presente sous la forme dune interface graphique avec plusieurs fenetres (Fig.
??)

Figure 1.1 Interface MATLAB

3
4 CHAPITRE 1. GENERALITES SUR MATLAB

Current Folder : gestion des fichiers et repertoires :


>> pwd % affiche le nom du repertoire courant pour Matlab
>> cd rep % change le repertoire courant pour Matlab qui devient rep
>> dir % fournit le catalogue dun repertoire
>> delete % efface des fichiers ou des objects graphiques ;
Command Window :la partie ou lon entre les commandes.

>> % le caractere >> (prompt) signifie que MATLAB attend une instruction ;

Workspace : Matlab garde en memoire les variables qui ont ete creees.
On les voit en haut, a droite, lorsque Matlab dispose dune interface graphique. Sinon, on
peut les afficher et les effacer par la ligne de commande :
>> who % donne la liste des variables presentes dans lespace de travail
>> whos % donne la liste des variables presentes dans lespace de travail ainsi que leurs
proprietes
>> what % donne la liste des fichiers .m et .mat presents dans le repertoire courant
>> clear var1 ...varn % efface les variables var1 ...varn de lespace de travail
>> clear % efface toutes les variables crees dans lespace de travail
Command History : Matlab conserve lhistorique des commandes. Il est donc possible
de recuperer des instructions deja saisies (et ensuite de les modifier dans le but de les
reutiliser) : , , , permet de se deplacer dans les lignes de commandes tapees dans
la fenetre de commandes

1.2 Elements mathematiques de base

MATLAB traite un seul type dobjet : les matrices ! Les scalaires sont des matrices 1 1, les
vecteurs lignes des matrices 1 n, les vecteurs colonnes des matrices n 1.

1.2.1 Scalaires, Vecteurs et Matrices

Scalaires
Les scalaires se declarent directement, par exemple :
>> a = 6
>> b = sqrt(2)
>> c = (1 + 2 + 3) 4/5
>> d =
Vecteurs
Les vecteurs ligne se declarent de la maniere suivante :
1.2. ELEMENTS MATHEMATIQUES DE BASE 5

Figure 1.2 Declaration de scalaires

>> Vligne = [1 2 3 4 5 6 7 8] ; (% les virgules ou les blancs separent les elements dun
vecteur ligne).
>> Vligne = [1 : 8] ; (% Le double point (:) est loperateur dincrementation dans MAT-
LAB. Par defaut, lincrement est de 1. Ainsi, pour creer un vecteur ligne des valeurs de
1 a 8 par increment de 2, il suffit dutiliser :
>> Wligne = [1 : 2 : 8] ;
>> % Une ligne de commande commencant par le caractere % nest pas executee par
Matlab. Cela permet dinserer des lignes de commentaires.

>> Vcolonne = [1; 2; 3] ; (% les points-virgules separent les elements dun vecteur colonne)
>> n : m ; (% nombres de n a m par pas de 1.)
>> n : p : m ; (% nombres de n a m par pas de p.)
>> linspace(n, m, p) ; (% p nombres de n a m.)
>> lenght(x) ; (% longueur de x.)
>> x(i) ; (% i-eme coordonnee de x.)
>> x(i1 : i2 ) ; (% coordonnees i1 a i2 de x.)
>> x(i1 : i2 ) = [] ; (% supprimer les coordonnees i1 a i2 de x.)
>> [x, y] ; (% concatener les vecteurs x et y.)
>> x0 ou transpose(x) ; (% transposee du vecteur x.)
>> x y 0 ; (% produit scalaire des vecteurs lignes x et y.)
6 CHAPITRE 1. GENERALITES SUR MATLAB

Figure 1.3 Declaration de vecteurs ligne

>> x0 y ; (% produit scalaire des vecteurs colonnes x et y.)


>> dot(x, y) ; (% produit scalaire des vecteurs x et y.)

Chane de caractere
Une Chane de caracteres est un vecteur ligne
>> ch=matlab % les caracteres sont entres en commencant et en terminant par (quote).
Polynomes
Matlab represente un polynome sous forme dun vecteur ligne contenant les coefficients
classes dans lordre des puissances decroissances. Par exemple le polynome P dexpression
P (x) = x2 6x + 9 est reprente par :
>> P=[1 -6 9]
Variables complexes
Dans Matlab, un nombre complexe est de la forme : z = a + ib.
>> z = 2 + 1.5 i ;
>> conj(z) % retourne le complexe conjugue du nombre complexe z.
>> real(z) % extrait la partie reelle du nombre complexe z.
>> imag(z) % extrait la partie imaginaire du nombre complexe z.
>> abs(z) % calcule le module du nombre complexe z.
>> angle(z) % calcule la phase du nombre complexe z.
1.2. ELEMENTS MATHEMATIQUES DE BASE 7

Figure 1.4 Declaration de vecteurs colonne

Matrices
Une matrice se declare par une ligne explicite delements.
>> A = [1 2 3 ;4 5 6 ;7 8 9] ; (% les elements sont separes par des blancs ou des virgules,
et des point virgules (; ) sont utilises pour indiquer la fin de ligne.)
>> size(A) ; (% nombre de lignes et de colonnes de A.)
>> A(i, j) ; (% coefficient dordre i, j de A.)
>> A(i1 : i2 , :) ; (% lignes i1 a i2 de A.)
>> A(i1 : i2 , :) = [] ; (% supprimer les lignes i1 a i2 de A.)
>> A(:, j1 : j2 ) ; (% colonnes j1 a j2 de A.)
>> A(:, j1 : j2 ) = [] ; (% supprimer les colonnes j1 a j2 de A.)
>> A(:) ; (% concatener les vecteurs colonnes de A.)
>> diag(A) ; (% coefficients diagonaux de A.)

>> % Matrices particulieres


>> zeros(m, n) ; (% matrice nulle de taille m, n.)
>> ones(m, n) ; (% matrice de taille m, n dont tous les coefficients valent 1.)
>> eye(n) ; (% matrice identite de taille n.)
>> diag(x) ; (% matrice diagonale dont la diagonale est le vecteur x.)
>> magic(n) ; (% carre magique de taille n.)
8 CHAPITRE 1. GENERALITES SUR MATLAB

Figure 1.5 Declaration de Matrices

>> rand(m, n) ; (% matrice de taille m, n a coefficients pseudo aleatoires de loi uniforme


sur [0; 1].)
>> randn(m, n) ; (% matrice de taille m, n a coefficients pseudo aleatoires de loi nor-
male N (0; 1).)

>> % Operations matricielles


>> A0 ; (% transposee de A.)
>> norm(A) ; (% norme de A (peut sappliquer a un vecteur V )
>> rank(A) ; (% rang de A :nombre de colonnes ou de lignes lineairement independantes.)
>> inv(A) ; (% inverse de A.)
>> expm(A) ; (% exponentielle de A.)
>> det(A) ; (% determinant de A.)
>> trace(A) ; (% trace de A.)
>> poly(A) ; (% polynome caracteristique de A.)
>> eig(A) ; (% valeurs propres de A.)
>> [U, D] = eig(A) ; (% vecteurs propres et valeurs propres de A.)
>> + ; (% addition, soustraction.)
1.2. ELEMENTS MATHEMATIQUES DE BASE 9

>> ; (% multiplication, puissance (matricielles).)


>> . . ; (% multiplication, puissance terme a terme.)
>> A\b ; (% solution de Ax = b.)
>> ./ ; (% division terme a terme.)

1.2.2 Fonctions

>> % Fonctions courantes


>> sin(x) ; (% sinus de x ; x en radians)
>> cos(x) ; (% cosinus de x ; x en radians)
>> tan(x) ; (% tangente de x ; x en radians)
>> exp(x) ; (% exponentielle de x)
>> log(x) ; (% logarithme en base e de x)
>> sqrt(x) ; (% racine carree de x)
>> power(x, a) ; (% puissance a de x)
>> abs(x) ; (% valeur absolue de x)
>> sinh(x) ; (% sinus hyperbolique de x)
>> cosh(x) ; (% cosinus hyperbolique de x)
>> tanh(x) ; (% tangente hyperbolique de x)
>> round(x) ; (% arrondit un nombre a lentier le plus pres)
>> f loor(x) ; (% arrondit vers lentier immediatement au-dessous)
>> ceil(x) ; (% arrondit vers lentier immediatement au-dessus)
>> % Fonctions vectorielles Certaines fonctions de Matlab sappliquent a lensemble dun
vecteur. Lorsquon les applique a des matrices, elles operent colonne par colonne.
>> max(x) ; (% maximum.)
>> min(x) ; (% minimum.)
>> sort(x) ; (% tri par ordre croissant.)
>> [y, I] = sort(x) ; (% retourne en plus les indices des elements de x.)
>> f ind(x) ; (% retourne les indices non nuls de x.)
>> [y, I] = find(x) ; (% retourne des lignes (dans le vecteur I) et des colonnes (dans le
vecteur J) des elements non nuls du x.)
>> sum(x) ; (% somme des elements de x.)
>> cumsum(x) ; (% vecteur contenant la somme cumulee des elements de x)
>> prod(x) ; (% produit des elements de x)
10 CHAPITRE 1. GENERALITES SUR MATLAB

>> cumprod(x) ; (% vecteur contenant le produit cumule des elements de x)


>> dif f (x) ; (% vecteur des differences entre deux elements consecutifs de x)
>> mean(x) ; (% moyenne des elements de x)
>> median(x) ; (% mediane)
>> std(x) ; (% ecart type)

1.2.3 Operateurs relationnels et logiques

>> % Operateurs relationnels


>> = ; (% affectation.)
>> a == b ; (% a egal b.)
>> a < b ; (% a est plus petit que b.)
>> a > b ; (% a est plus grand que b.)
>> a <= b ; (% a est plus petit ou egal a b.)
>> a >= b ; (% a est plus grand ou egal a b.)
>> a = b ; (% a est different deb.)
>> % Operateurs logiques
>> & ; (% et)
>> | ; (% ou)
>> ; (% not ou non)