You are on page 1of 7

Introduction ` Matlab a

Nicolas Kielbasiewicz 30 juillet 2007

Matlab est un logiciel payant dvelopp par MathWorks sous Windows, Linux et Mac, et ddi e e e e au calcul numrique, ainsi quau probl`mes de commande. Pour lacheter et obtenir de plus amples e e informations, consulter : http ://www.mathworks.fr Matlab dispose dun langage de programmation bas essentiellement sur le calcul matriciel, avec des e fonctionnalits mathmatiques et graphiques tendues. e e e Lobjectif de ce document nest pas de donner une liste exhaustive des diverses fonctionnalits de e Matlab , mais plutt de donner un aperu des commandes de base et des fonctions les plus couramment o c utilises. e

Table des mati`res e


1 Premiers contact avec Matlab 1.1 La Fentre Matlab . . . . . e 1.2 Les chiers Matlab . . . . . 1.2.1 Les librairies . . . . . 1.2.2 Les scripts . . . . . . . 1.3 Laide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 2 2 3 3 3 3 3 4 4 4 5 5 5 5 6 6 6

2 Les types de donnes e 2.1 Les constantes spciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . e 2.2 Vecteurs et matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Fonctions ou macros 4 Boucles et instructions de contrle o 4.1 Les boucles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Les instructions de contrle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . o 4.3 Les oprateurs logiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . e 5 Entres/Sorties e 5.1 Ouvrir un chier . . . 5.2 Lire dans un chier . . 5.3 Ecrire dans un chier . 5.4 Fermer un chier . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

Unit de Mathmatiques Appliques, Ecole Nationale Suprieure de Techniques Avances e e e e e

6 Les graphiques 6.1 Tracs en 2D . . . . . . . . . . . . e 6.1.1 plot : la commande de base 6.1.2 Commandes plus spciques e 6.2 Tracs en 3D . . . . . . . . . . . . e 6.2.1 La commande surf . . . . . 6.2.2 Autres commandes . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

6 6 6 6 7 7 7

1
1.1

Premiers contact avec Matlab


La Fentre Matlab e

Pour dmarrer, il sut de cliquer sur licne de Matlab ou de taper matlab & dans une fentre de e o e terminal. Le programme se lance et une fentre graphique souvre. e

Fig. 1 La fentre Matlab e Cette fentre assez simple dutilisation comporte un menu tr`s standard. En dessous du menu, on e e distingue trois fentres distinctes. En haut ` gauche, il sagit de lexplorateur de chiers, plac au niveau e a e du rpertoire actuel. Juste en dessous, on a lhistorique des commandes excutes. La partie droite est e e e linvite de commandes Matlab dans laquelle on va taper les commandes et lancer les programmes.

1.2

Les chiers Matlab

Les chiers Matlab sont des chiers texte dont lextension est .m . Il en existe nanmoins deux types. e 1.2.1 Les librairies

Un chier de librairie est ddi ` la dnition dune fonction. Pour des raisons pratiques, la fonction e ea e et le chier ont le mme nom. On ne peut dnir quune seule fonction par chier, et nous verrons plus e e loin comment.

Pour charger une librairie qui nest pas dans le rpertoire courant mais dans un autre chemin e nom chemin, on va utiliser la commande addpath(nom chemin) pour ajouter le chemin dans la liste des rpertoires que Matlab va consulter ` lexcution dune commande. e a e 1.2.2 Les scripts

Ils sont excuts par Matlab en tapant simplement leur nom et contrairement aux fonctions, ils ne e e prennent pas darguments en entre. e Ces chiers contiennent une suite dinstructions. Ces instructions pourraient tout aussi bien tre e excuts directement dans linvite de commande Matlab . On peut donc y eectuer des oprations e e e dentres/sorties, des calculs, excuter des commandes et des fonctions, . . . e e

1.3

Laide

Hormis le menu help, on peut utiliser la commande help nom fct pour accder ` laide sur la e a comande voulue.

2
2.1

Les types de donnes e


Les constantes spciales e
NaN Inf ans eps i ou j pi Not-A-Number linni la derni`re rponse en date e e le zro machine e le nombre imaginaire le nombre Voici la liste des commandes prdnies dans Matlab : e e

Pour i et j, il est fortement dconseill de les utiliser (en gnral, on les utilise comme indices de e e e e boucles usuels), mme si on ne manipule pas des complexes. e

2.2

Vecteurs et matrices

Pour dnir un vecteur dont les valeurs sont uniformment rparties, il existe deux mthodes : e e e e u=deb :pas :n ; u=linspace(deb,n,nbval) ; Pour dnir un vecteur ou une matrice lment par lment, il faut procder comme suit : e ee ee e Les crochets [] servent ` encadrer la matrice ; a un espace ou une virgule , spare deux lments dune mme ligne ; e ee e un point-virgule ; spare les lignes entre elles. e Exemples : [2 3 -5] ; donne ans = 2 3 5 [3 ;1] ; donne ans = 3 1 3

Les oprations matricielles sont dnies dans le tableau suivant : e e symbole [] ; () + * \ / .* .\ ./ . dnition e dnition matricielle et concatnation e e sparateur de colonne e extraction/insertion dun lment ee transposition addition soustraction produit matriciel division ` gauche a division ` droite a puissance produit lment par lment ee ee division ` gauche lment par lment a ee ee division ` droite lment par lment a ee ee puissance lment par lment ee ee

Fonctions ou macros

Comme il a t dit prcdemment, il est prfrable de dnir des fonctions dans des chiers de librairies ee e e ee e plutt que dans les scripts eux-mmes, et on ne peut dnir quune seule fonction par chier. Voici la o e e syntaxe pour dnir une fonction : e function [y1, y2, . . . , yn]=nom fct(x1, x2, . . . , xp) ... ... ...

4
4.1

Boucles et instructions de contrle o


Les boucles
Il en existe de deux types en Matlab : les boucles for et les boucles while. Les boucles for scrivent de la faon suivante : e c for i=deb :pas :n ... ... end

Quand le pas (qui est un entier relatif) nest pas prcis, il est x ` la valeur 1 par dfaut. e e ea e Il existe une autre mani`re dcrire une boucle for dont lindice de boucle parcourt les lments dun e e ee vecteur v : for i=v ... ... end On peut aller encore plus loin en aectant un vecteur colonne ` notre indice de boucle. On utilise a alors une matrice A, dont chaque colonne sera la valeur de lindice de boucle, suivant la syntaxe suivante : 4

for i=A ... ... end Les boucles while scrivent de la faon suivante : e c while expression ... ... end

4.2

Les instructions de contrle o

Pour eectuer un test, on peut utiliser la combinaison classique if-then-else : if condition ... elseif ... else ... end On peut galement avoir ` utiliser switch-case dans le cas o` le test comprend au moins trois possie a u bilits : e switch var case val1 ... case val2 ... otherwise ... end

4.3

Les oprateurs logiques e

Voici la liste des oprateurs logiques servant entre autres ` crire les conditions : e ae == = < <= > >= & | gal ` e a dirent de e infrieur ` e a infrieur ou gal ` e e a suprieur ` e a suprieur ou gal ` e e a et ou non

5
5.1

Entres/Sorties e
Ouvrir un chier
La commande la plus courante est : d=fopen(chier.xxx,mode) ; La variable mode peut tre r (lecture) ou w (criture). e e 5

5.2

Lire dans un chier

La commande la plus courante est : x=fscanf(d,format,size) ; La variable f ormat est une chaine de caract`res constitue de caract`res du type %s (chaine de e e e caract`res sans espace), %d (entier), %f (ottant), . . . e La variable size dnit le nombre dlments ` rcuprer. Si size = [m, n], alors on rcup`re une e ee a e e e e matrice de taille n x m. Si m est inf , alors on rcup`re tout jusqu` la n du chier. e e a

5.3

Ecrire dans un chier

La commande la plus courante est : x=fprintf(d,format,a1, . . . , an) ;

5.4

Fermer un chier
fclose(d) ; fclose(all) ; % pour fermer tous les chiers actuellement ouverts.

6
6.1

Les graphiques
Tracs en 2D e
plot : la commande de base

6.1.1

La commande plot est la fonction dachage graphique la plus lmentaire. Elle a subi des modiee cations substantielles depuis Matlab 4.0 pour ressembler ` son quivalent dans Matlab. Elle permet a e maintenant la mme gestion des couleurs et des styles de lignes. e valeur : + o * . x s d p v < > 6.1.2 correspondance ligne continue ligne discontinue ligne pointille e signes plus cercles astrisques e points croix carrs e diamant pentagramme triangles vers le haut triangles vers le bas triangles vers la gauche triangles vers la droite valeur r g c m y k w correspondance rouge vert cyan magenta jaune noir blanc

Commandes plus spciques e

La commande fplot permet de tracer une courbe dnie par une fonction. Ses arguments sont les e mmes que plot ` ceci pr`s que la matrice des ordonnes est remplace par le nom de la fonction. e a e e e Dautres fonctions : bar, polar, errorbar, stream2 (pour les coulements 2D), quiver (pour les e champs de vitesses 2D), contour . . . 6

6.2
6.2.1

Tracs en 3D e
La commande surf

Elle sert ` tracer des surfaces. a 1. surf(X, Y, Z, C) ; X, Y, Z et C sont 4 matrices de mme taille (m,n). Si la matrice des couleurs C nest pas prcis, e e e alors C = Z. La surface trace est dnie par lensemble des points de coordonnes Xij , Yij et Zij et la couleur e e e associe est Cij . e 2. surf(x, y, Z, C) ; x et y sont des vecteurs de tailles nx et ny. Z et C sont des matrice de taille (ny,nx). La surface trace est dnie par lensemble des points de coordonnes Xi , Yj et Zji e e e Dans les deux cas, on peut paramtrer lachage avec les commandes view, shading et axis. e 6.2.2 Autres commandes

La commande plot3 permet dacher des courbes paramtres. Contrairement ` surf, son troisi`me e e a e argument z nest pas une matrice, mais un vecteur de la mme dimension que x et y. On peut e galement lutiliser pour acher des nuages de points. e La commande pcolor permet de tracer une surface vue de dessus. Elle a pour arguments X, Y et C. En choisissant C = Z, on obtient alors le mme rsultat quavec la commande surf avec une e e vue de dessus. Nanmoins, il est prfrable dans ce contexte dutiliser pcolor. e ee Dautres fonctions : quiver3 et coneplot (pour les champ de vitesses), stream3 (pour les coulee ments), contour3 ...

You might also like