Académique Documents
Professionnel Documents
Culture Documents
03/12/2008
1 Introduction M ATLAB
M ATLAB est un systme interactif pour le calcul numrique (langage de programmation, envi-
ronnement de travail et de rsolution de problmes), qui propose des outils performants pour la
manipulation de matrices, ldition de graphiques, le debuggage, le profiling, ...
Si lutilisateur naffecte pas explicitement le rsultat dune opration (par exemple) une va-
riable, M ATLAB laffecte automatiquement la variable ans.
Le symbole ; (point virgule) en fin de ligne annule laffichage du rsultat (mais pas des mes-
sages derreur).
Pour obtenir de laide sur une commande, il suffit de taper help command dans la console
dexcution, ou de lancer laide de M ATLAB (Help > MATLAB Help ou F1).
Pour rechercher une fonction relative un mot cl, il suffit de taper lookfor keyword.
>> l o o k f o r i d e n t i t y
EYE I d e n t i t y m a t r i x .
SPEYE Sparse i d e n t i t y m a t r i x .
SETDATID S e t s t h a e s t i m a t i o n data i d e n t i t y f o r a model
La matrice A est dfinie ligne par ligne (en commenant par la premire). Chaque ligne est spa-
re par un point virgule, et chaque lment dune ligne par un espace ou une virgule.
Les oprations arithmtiques +, , , /, et ^ peuvent tre effectues sur les matrices (si leurs
dimensions le permettent).
>> B A
ans =
1 2 3
2 3 4
4 5 6
>> A . B
ans =
1 0 0
0 3 0
0 0 6
Si un symbole dopration arithmtique est prcd dun point (.), lopration est effectue l-
ment par lment sur les matrices.
Lopration B/A est quivalente B inv(A) (avec inv(A) : inverse de la matrice carre A).
Autrement, lopration \ peut galement tre utilise : A\B est quivalent inv(A) B.
Lors de laffectation dune nouvelle valeur un lment dune matrice, M ATLAB pourra (si nces-
saire) tendre la matrice pour que laffectation ait du sens (les lments ajouts seront initialiss
0).
A 3 x3 72 double a r r a y
B 3 x3 72 double a r r a y
A 3 x3 72 double array
AA 3 x3 36 single array
B 3 x3 72 double array
C 3 x3 36 single array
Le rsultat dun calcul faisant intervenir un lment simple prcision est automatiquement converti
en simple prcision.
>> u = [ 1 ; 2 ; 3 ; 4 ]
u =
1
2
3
4
Les polynmes,
P quant eux, sont dfinis comme des vecteurs ligne. Soit a un polynme de degr
n : a(x) = ni=0 ai xi . Ce polynme est reprsent par le vecteur ligne [an an1 an2 a1 a0 ].
Lexemple suivant illustre la dfinition, en M ATLAB, du polynme a(x) = 4x3 3x2 + 2x 1.
>> a = [ 4 3 2 1]
a =
4 3 2 1
3 Structures de contrle
3.1 Construction if-{elseif-else}-end
i f condition1
command1
e l se i f condition2
command2
else
command3
end
Les boucles for et while peuvent tre interrompues par linstruction break.
Le rsultat obtenu est illustr par la figure (a). La figure (b) est le rsultat du deuxime exemple,
(a) (b)
qui calcule x2 pour 1001 valeurs de x [0, 10] par pas de 0.01.
>> idx = 1 ;
>> f o r i = 0 : 0 . 0 1 : 1 0
x ( idx ) = i ;
y ( idx ) = i i ;
idx = idx + 1 ;
end ;
>> p l o t ( x , y , r ) ;
5 Scripts et fonctions
Les scripts ou les fonctions sont stocks dans des fichiers lextension .m (test.m, par exemple),
et contiennent un ensemble de commandes M ATLAB.
Script Un fichier script na ni paramtre dentre ni paramtre de sortie, et travaille sur les va-
riables de lespace de travail.
Cette fonction doit tre stocke dans le fichier somme_produit.m. Lexcution de cette fonction
donne le rsultat suivant :
>> [ s , p]= somme_produit ( 4 , 5 )
s =
9
p =
20
Pour exctuer un script ou une fonction, le fichier doit se trouver dans le rpertoire courant ou
dans un rpertoire de la variable path (voir path, addpath et rmpath). Pour excuter un script,
il suffit alors de taper dans la console dexcution le nom du fichier script (sans lextension .m),
et pour une fonction, le nom de la fonction suivi des paramtres dentre entre parenthses (si
lutilisateur veut rcuprer la sortie, il doit indiquer les noms des variables de stockage, sinon, le
dernier paramtre de sortie sera stock dans la variable ans).
6 Exercices dapplication
6.1 Polynme caractristique et matrice compagnon
Soit A une matrice carre
Qde taille nn. On note i les valeurs propres de A et a(x) son polynme
n
caractristique : a(x) = i=1 (x i ).
1. Crer manuellement ou gnrer alatoirement une matrice de taille m n (m, n donns).
2. crire la fonction qui dtermine le polynme caractristique dune matrice A donne en
paramtre (afficher un message derreur dans le cas o la matrice A nest pas carre). La
fonction devra galement retourner le dterminant et la trace de la matrice A.
3. Comparer les rsultats de la question 2. avec ceux des fonctions poly, det et trace.
Pn1
Le polynme caractristique de la matrice est de la forme : a(x) = an xn + i=0 ai xi . La matrice
compagnon de a peut alors tre dfinie de la manire suivante :
0 0 0 a0
1 0 0 a1
0 1 0 a2
.. .. .. .. ..
. . . . .
0 0 1 an1
Rfrences
[1] DJ. Higham, NJ. Higham, M ATLAB GUIDE - Second edition, Society for Industrial and Applied
Mathematics (SIAM), 2005
[2] ML. Overton, Numerical computing with IEEE floating point arithmetic, Society for Indus-
trial and Applied Mathematics (SIAM), 2001