TP1

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 10

Université de Maine – Master 1-E.D.P. – 2007-2008. Page n˚1.

Feuille de TP n˚1 – Initiation à Matlab

L’objectif de ce TP est de vous familiariser avec le logiciel Matlab, contraction de Matrix Laboratory.
Matlab n’est pas à la base un langage de calcul formel comme Mathematica ou Maple. Il s’agit d’un
interpréteur de commandes écrites en langage Matlab. Ce logiciel a été conçu pour faciliter les opérations
sur les vecteurs, matrices et tableaux.
Matlab est constitué d’un noyau relativement réduit, capable d’interpréter puis d’évaluer les expres-
sions numériques matricielles qui lui sont adressées :
– soit directement au clavier depuis une fenêtre de commande ;
– soit sous forme de séquences d’expressions ou scripts enregistrées dans des fichiers-texte d’extension
.m et exécutées depuis la fenêtre de commande ;
– soit plus rarement sous forme de fichiers binaires d’extension .mex générés à partir d’un compilateur
C ou fortran.
Ce noyau est complété par une bibliothèque de fonctions prédéfinies, très souvent sous forme de fichiers
.m, et regroupés en paquetages ou toolboxes. À côté des toolboxes requises local et matlab, il est possible
d’ajouter des toolboxes spécifiques à tel ou tel problème mathématique, Optimization Toolbox, Signal
Processing Toolbox par exemple ou encore des toolboxes crées par l’utilisateur lui-même.

1 Avant de commencer
Avant la première utilisation de Matlab, il est vivement recommandé (c’est même indispensable dans
le cas d’une installation en réseau) à chaque utilisateur de créer un répertoire de travail, myMatlab par
exemple, où il pourra enregistrer ses fichiers. Lors de la première session, le chemin d’accès à ce répertoire
sera ajouté aux chemins d’accès connus de Matlab, soit en utilisant l’item Set Path du menu File, soit en
tapant la commande addpath suivie du chemin d’accès au répertoire de travail.

Aide en ligne - help


Matlab comporte un très grand nombre d’opérateurs, de commandes et de fonctions. Tous ne seront
pas décrits dans ce document d’autant qu’une aide en ligne efficace peut être utilisée. On peut taper les
commandes suivantes :
– help permet d’obtenir l’aide de l’aide et donne une liste thématique ;
– help nom de fonction donne la définition de la fonction désignée et des exemples d’utilisation ;
– lookfor sujet donne une liste des rubriques de l’aide en ligne en relation avec le sujet indiqué.
Faites un certain nombre d’essais. À cela s’ajoute :
– helpwin : ouverture de la fenêtre d’aide Matlab.
Cette fenêtre d’aide présente les différents champs regroupant les commandes Matlab. Avec la souris, on
peut choisir l’un des champs (par ex. elmat) avec un double click. On peut ensuite choisir de la même
manière une des commandes (par ex. eye). Il apparaı̂t alors la description de la commande eye.

Interaction avec le système d’exploitation


Les commandes et fonctions suivantes permettent à Matlab d’interagir avec le système d’exploitation
de la machine sur laquelle il est utilisé :
– addpath path : ajoute le chemin d’accès (path) à la liste des chemins d’accès connus de Matlab ;
– cd ou pwd : affiche le chemin d’accès au répertoire de travail actuel ;
– cd path : fixe le répertoire de chemin d’accès path comme repertoire de travail ;
– dir ou ls : affiche le contenu du répertoire de travail actuel ;

Septembre 2007. Copyright c A. Popier [email protected]. GNU FDL Copyleft. Page n˚1.
Université de Maine – Master 1-E.D.P. – 2007-2008. Page n˚2.

– delete : efface le fichier spécifié (peut être utilisée sous forme de fonction sous la forme : de-
lete(’nomDeFichier’)) ;
– mkdir path : crée le répertoire de chemin d’accès path ;
– rmpath path : supprime le chemin d’accès (path) du (Matlabpath) ;
– isdir (path) : fonction booléenne qui retourne 1 si le chemin d’accès (path) est celui d’un répertoire,
0 sinon ;

2 Notions de base
Créations et manipulations de variables
a=4 ;b=pi ; La valeur 4 est affectée à a et la valeur π à b.
who Liste les variables Matlab utilisées dans la session.
clear b Destruction de la variable b.
who Vérification que la variable b n’existe plus.
sqrt(a) Calcul la racine carrée de la variable a.
A=[1 2 3 ;4 5 6 ; 7 8 9] Création «à la main» de la matrice A.
b=A(2, :) b est le vecteur ligne contenant la deuxième ligne de A.
c=A( :,3) c est le vecteur colonne contenant la troisième colonne de A.
B=A(1 :2,1 :2) B est la première sous-matrice carrée d’ordre 2 de A.
X=[1 :20] ; X est le vecteur ligne contenant les entiers de 1 à 20.
Y=[1 :2 :20] ; Y est le vecteur ligne contenant les entiers 1, 3, . . . , 19.
C=A’ C est la matrice transposée de A.
A+C ;A*C Addition et multiplication matricielles classiques.
n=4 ;A=eye(n) Création de la matrice identité d’ordre 4.
B=zeros(n) B est la matrice nulle d’ordre 4.
C=ones(n) C est la matrice carrée d’ordre 4 ne contenant que des 1.

Calculs matriciels plus élaborés


D=pascal(4) D est la matrice de Pascal d’ordre 4.
p=2 ; D^
p Calcul de D2 .
det(D) ;trace(D) ;rank(D) ; Déterminant, trace et rang de D.
poly(D) ;eig(D) ;[V,v]=eig(D) Polynôme caractéristique, valeurs propres,
et vecteurs et valeurs propres de D.
inv(D) ;sqrtm(D) ;expm(D) ; Inverse et racine carrée et exponentielle matricielle de D.
sum(D) Somme des colonnes de la matrice D.
sum(sum(D)) Somme totale des éléments de D.
cumsum(D) Matrice des sommes cumulatives des colonnes de D.
cumprod(D) Matrice des produits cumulatives des colonnes de D.
max(D) Renvoie un vecteur ligne = au max. sur chaque colonne de D.
max(max(D)) Maximum des entrées de la matrice D.
A=rand(4) A est une matrice de taille 4 × 4 avec coefficients aléatoires.
sort(A) Tri par ordre croissant sur chaque colonne de la matrice A.
ans La variable ans contient la dernière réponse Matlab non affectée.
En plus de ces opérations matricielles il convient d’ajouter les manipulations terme à terme.
A.*D Multiplication terme à terme de A et D.
A.^ 2 Puissance terme à terme de A par 2.
Exercice 2.1. Construire la matrice A carrée symétrique d’ordre n = 5 dont le terme général est donné,
pour i > j, par aij = 2i−j . Calculer son déterminant, son inverse et ses valeurs propres.

Septembre 2007. Copyright c A. Popier [email protected]. GNU FDL Copyleft. Page n˚2.
Université de Maine – Master 1-E.D.P. – 2007-2008. Page n˚3.

Chaı̂nes de caractères, entrées et sorties.


En Matlab, les caractères constituent un type de données, au même titre que les nombres réels. Ainsi
’1’ représente le caractère «1», qui n’est pas de même nature que le nombre 1. Une chaı̂ne de caractères est
un vecteur dont les entrées sont des caractères. Une présentation de la gestion des chaı̂nes de caractères
sous Matlab est donnée en faisant help strings.
La commande input permet de demander à l’utilisateur Matlab d’entrer les valeurs de variables à
utiliser. La commande pause permet de stopper l’exécution Matlab. Vous pouvez préciser le nombre
de secondes de pose ou revenir à Matlab en appuyant sur n’importe quelle touche. La commande save
permet de sauvegarder dans un fichier, dont le nom par défaut est matlab.mat, le contenu de certaines
variables dont vous souhaitez garder une trace. Ce fichier peut être appelé par la commande load qui
restaure toutes les variables que vous avez sauvegardées.
 
n = input ( ’ E n t r e z l a v a l e u r de n : ’ ) ;
a = input ( ’ P r e c i s e z l a v a l e u r de a : ’ ) ;
% Création de la matrice de Toeplitz A
v=a . ˆ [ 0 : n ] ; A = t o e p l i t z ( v ) ; d = det (A ) ;
% Sauvegarde de n , a , A , d dans le fichier sauvegarde . mat
save s a u v e g a r d e n a A d ;
clear % Efface toutes les variables de la session
load s a u v e g a r d e % Restaure les variables de sauvegarde . mat
who % V\’ erification
whos % V\’ erification
 
Notez la différence entre les commandes who et whos !

3 Opérations, scripts, boucles et exécutions conditionnelles.


Opérations.
Pour Matlab, tout nombre peut être considéré comme une valeur logique, en identifiant les nombres
non nuls à vrai (noté 1) et le nombre zéro à faux. Il n’existe donc pas dans Matlab de «vrai» type booléen.
Classés par ordre de priorité décroissante, les opérateurs utilisés par Matlab sont les suivants :
– exponentiation et transposition
– l’exponentiation ˆet .ˆ
– la conjugaison ’ et la transposition .’
– opérateurs multiplicatifs
– les produits ∗ et .∗,
– les divisions à droite /, ./ et à gauche \, .\
– la conjugaison ’ et la transposition .’
– opérateurs additifs et de négation
– les opérateurs additifs unaire et binaires + et -
– la négation ∼
– opérateurs booléens avec par ordre de priorité :
– les opérateurs de comparaison
– <, >, <= et >=
– égalité ==, non égalité ∼=
– puis les opérateurs logiques
– et logique &
– ou logique |
– et logique court-circuité &&
– ou logique court-circuité k

Septembre 2007. Copyright c A. Popier [email protected]. GNU FDL Copyleft. Page n˚3.
Université de Maine – Master 1-E.D.P. – 2007-2008. Page n˚4.

Les opérateurs logiques court-circuités sont des opérateurs pour lesquels le résultat est acquis dès que
l’évaluation du premier opérande permet d’affirmer le résultat global sans évaluer le second opérande. Si
a et b sont des variables booléennes :
– a && b vaut false dès que a vaut false
– a k b vaut true dès que a vaut true.
On peut également utiliser les fonctions or, not, and, eq,ne,gt,lt,ge,le. Il y en a d’autres, faites
donc un help ops. La commande any(V) renvoie 1 si au moins l’un des éléments du vecteur V est non
nul, 0 sinon. La function all(V) renvoie 1 si tous les éléments du vecteur V sont non nuls, 0 sinon.
Enfin la fonction find(V) renvoie les indices correspondant aux éléments non nuls du vecteur V. Ainsi
V(find(V>2)) renvoie les valeurs supérieures à 2 du vecteur V.
Les commandes Matlab isreal,ischar,issparse,isnan,isinf,isfinite permettent de tester la
nature des variables. Ainsi isreal(a) renverra 1 si la variable a est un réel et 0 sinon.
 
V = [1 ,0 , −3 ,3 ,4];
b o o l e a n (V) % Un vecteur de données
˜V %qu ’ est - ce que cela donne ?
i s c h a r (V)
i s r e a l (V)
i s f i n i t e (V)
i s i n f ( 1 . /V)
isnan ( cos ( 1 . /V) )
V > 0.5
(V>−10 \& V <=3)
(V>−10 | V <= 3 )
find (V>0.5)
V( find (V> 0 . 5 ) ) . ˆ 2
any (V)
a l l (V)
 

Exercice 3.1. Que donne find(M) pour une matrice M ? Même question pour les commandes [I,J]=find(M)
et [I,J,K]=find(M).

Scripts et m-files
Un script est une séquence d’expressions ou de commandes. Un script peut se développer sur une
ou plusieurs lignes. Les différentes expressions ou commandes doivent être séparées par une virgule, un
point-virgule ou par le symbole de saut de ligne constitué de trois points . . . suivis de <entrer> (le
rôle des trois points est d’inhiber le mécanisme d’évaluation lors d’un passage à la ligne). Comme pour
une expression unique, la frappe de <entrer> déclenche le processus d’évaluation. Les expressions sont
évaluées dans leur ordre d’écriture. Seule la valeur des expression suivie d’une virgule ou d’un saut de
ligne est affichée, celle des expressions suivies d’un point-virgule, ne l’est pas. Par exemple
 
>> a =.5 , 2∗ a , save a , b=pi ; 2 ∗ b , c=a ∗b
 
Écrire un script est assez fastidieux, aussi Matlab permet d’enregistrer le texte d’un script sous forme
de fichier de texte d’extension .m, en raison de leur extension. Les fichiers d’extension .mat que nous avons
évoqués dans le chapitre précédant sont des fichiers binaires qui permettent d’enregistrer des valeurs. Les
fichiers .m permettent d’enregistrer les scripts sous forme de fichiers-texte et servent en particulier à
définir de nouvelles fonctions (une grande partie des fonctions prédéfinies de Matlab sont stockées sous
forme de fichiers .m dans la toolbox matlab. Les fichiers .m peuvent être crées par n’importe quel éditeur.
Dans les versions récentes de Matlab, il existe un petit éditeur intégré que l’on peut appeler à partir du
menu file ou à partir de la barre de menu de la fenêtre de commande.

Septembre 2007. Copyright c A. Popier [email protected]. GNU FDL Copyleft. Page n˚4.
Université de Maine – Master 1-E.D.P. – 2007-2008. Page n˚5.

Exemple : dans la fenêtre de l’éditeur tapez les lignes suivantes :


 
% script - essai . m
a = .5;
b = pi ;
c = a ∗ b
 
Sauvez le fichier dans le répertoire de travail sous le nom de essai.m.
Pour exécuter le script contenu dans un fichier .m, il suffit de taper le nom de ce fichier dans la fenêtre
de commande suivi de < entrer >. Ainsi pour exécuter le script précédent, on tape essai et on obtient :
 
>> e s s a i
c =1.5708
 
La présence d’un point-virgule ; à la fin des deux premières lignes du script a neutralisé l’affichage des
valeurs de a et b.

Structures algorithmiques
Le langage Matlab comprend les boucles du type for et while ainsi que les structures d’exécutions
conditionnelles du type if. L’argument d’un if et d’un while est de type logique, ce qui n’est pas le cas
de celui d’un for, qui est de type matriciel. La commande break permet de sortir de la boucle while ou
for la plus interne.
 
N=10;

% Boucles FOR
f o r n=1:N
f o r m=1:N
A( n ,m)=1/(n+m+1);
end
end

% Boucle WHILE
n=1;
r=−Inf ;
while (A( n , n)> 0 . 2 )
r=A( n , n ) ;
n=n+1;
end

% Execution conditionnelle IF
i f n=m
A( n ,m)=1;
e l s e i f abs ( n−m)==1
A( n ,m)=−1;
else
A( n ,m)=0;
end

% Execution ESSAI / ERREUR / INTERCEPTION


% Tente de déterminer l ’ inverse de M
% Affiche NaN si ça n ’ est pas possible
% Aucune erreur n ’ est provoquée .
%A tester avec M= eye (2) et M= ones (1 ,2)

Septembre 2007. Copyright c A. Popier [email protected]. GNU FDL Copyleft. Page n˚5.
Université de Maine – Master 1-E.D.P. – 2007-2008. Page n˚6.

t r y , inv (M) , catch , disp (NaN) ; end


 

4 Fonctions et fichiers .m
On a vu qu’un ensemble de commandes Matlab est un script qui peut être sauvé (et exécuté) dans un
fichier .m. Ces fichiers sont aussi le moyen pour l’utilisateur de Matlab de définir ses propres fonctions.
On peut voir une fonction comme un sous-programme Matlab dont les paramètres éventuels sont les
arguments de la fonction et dont les résultats sont les images de cette fonction. Beaucoup de fonctions
Matlab, comme par exemple mean, sont déjà écrites en Matlab et le code Matlab correspondant est stocké
dans un fichier dont le nom se termine par .m. Pour mean, il s’agit donc de mean.m. Ajouter de nouvelles
fonctions à Matlab revient donc à écrire de nouveaux fichiers de ce type.
La commande Matlab type permet de lister le contenu d’un fichier. Ainsi, type mean vous montrera
le code source Matlab de la fonction mean. Le commentaire ajouté à partir de la seconde ligne constituera
l’aide affiché lorsque l’utilisateur tapera help mean. La commande which donne le chemin du fichier .m
associé à une fonction de Matlab, lorsqu’il existe.

Règles importantes
Le nom de la fonction et celui du fichier .m qui en contient la définition doivent impéra-
tivement être identiques. Ce fichier est le fichier .m associé à la fonction.
Dans la suite on verra qu’une partie importante d’une fonction est constitu’ee d’un script. Donc il est
d’usage et vivement recommandé d’écrire d’abord le script, de l’exécuter, puis, si le script
est fonctionnne correctement, alors il peut être transformé en fonction.

Syntaxe
Une fonction est constituée par :
– un en-tête :
function résultat = nom de la fonction (liste de paramètres)
– une section de commentaires dont chaque ligne commence par le symbole % ;
– le corps de la fonction défini par un script.
L’exécution d’une fonction s’achève lorsque la fin du script définissant la fonction a été atteint ; lorsque
une commande return ou un appel de la fonction error a été rencontré. return termine immédiatement
l’exécution de la fonction sans que la fin du script définissant celle-ci ait été atteint. error(’message’)
procède de même, mais en plus, affiche le contenu de ’message’. Le contrôle est alors renvoyé au point
d’appel de la fonction, fenêtre de commande ou autre fonction.
Chaque fonction possède son propre espace de travail et toute variable apparaissant dans le corps d’une
fonction est locale à celle-ci, à moins qu’elle ait été déclarée comme globale au moyen du qualificateur
global précédant le nom de la variable dans tous les espaces de travail où cette variable est utilisée.

Exemples
 
function m = moyenne ( x )
% MOYENNE (X) : moyenne des elements d ’ une liste ou d ’ un vecteur
% un argument autre qu ’ une liste ou un vecteur conduit a une erreur
[ K, l ] = s i z e ( x ) ;
i f ( ( k˜=1) & ( l ˜=1) )
error ( ’ l ”argument d o i t e t r e une l i s t e ou un v e c t e u r ’ )
end
m = sum( x ) / length ( x ) ;
 

Septembre 2007. Copyright c A. Popier [email protected]. GNU FDL Copyleft. Page n˚6.
Université de Maine – Master 1-E.D.P. – 2007-2008. Page n˚7.

Un fichier .m associé à une fonction (i.e. qui porte le nom d’une fonction et contient sa définition)
peut contenir d’autres définitions de fonctions. La fonction qui partage son nom avec le fichier ou fonction
principale doit apparaı̂tre en premier. Les autres fonctions ou fonctions internes peuvent être appelées
par la fonction principale, mais pas par d’autres fonctions ou depuis la fenêtre de commande.
 
function [m, v ] = myStat ( x )
% MYSTAT (X) : moyenne et variance des elements d ’ une liste ou d ’ un vecteur
% un argument autre qu ’ une liste ou un vecteur conduit a une erreur
[ k , l ] = size (x) ;
i f ( ( k˜=1) & ( l ˜=1) )
error ( ’ l ”argument d o i t ˆ e t r e une l i s t e ou un v e c t e u r ’ )
end
m = moyenne ( x ) ;
v = variance (x ) ;
function a = moyenne ( u )
% Calcul de la moyenne
a = sum( u ) / length ( u ) ;
function b = v a r i a n c e ( u )
% Calcul de la variance
c = sum( u ) / length ( u ) ;
u2 = ( u − c ) . ˆ 2 ;
b = sum( u2 ) / length ( u ) ;
 

Optimisation
Il est parfois commode d’écrire des fonctions qui prennent un nombre variable d’arguments. Ceci peut
être fait en Matlab grâce à la commande nargin qui renvoie le nombre d’arguments passés à la fonction
lors de son appel. Voici un exemple à commenter :
 
function f d= f i r s t d i g i t ( x , b , c o n v e r t )
i f ( nargin==1), b=10;
end
i f ˜ ( c e i l ( b)==b & b > 1 & b <37)
error ( ’ b n ’ ’ e s t pas un e n t i e r e n t r e 2 e t 36 ’ ) ;
end
i f ˜ ( x>0)
warning ( ’ x n ’ ’ e s t pas p o s i t i f , i l e s t r e m p l a c e par −x ’ ) ;
x=−x ;
end
x=reshape ( x , [ 1 , length ( x ) ] ) ;
y=x . ∗ b . ˆ c e i l (−log ( x ) / log ( b ) ) ;
i f i s i n f ( y ) | isnan ( y ) | ˜ i s r e a l ( y ) ,
error ( ’ x t r o p p e t i t ou t r o p grand par r a p p o r t à b ’ ) ;
end
c=f l o o r ( y ) ;
s=d e c 2 b a s e ( c , b ) ;
i f nargin==3,
i f convert ,
f d=b a s e 2 d e c ( s ( : , 1 ) , b ) ;
end
else
f d=s ( : , 1 ) ;
end
return ;

Septembre 2007. Copyright c A. Popier [email protected]. GNU FDL Copyleft. Page n˚7.
Université de Maine – Master 1-E.D.P. – 2007-2008. Page n˚8.

 
De la même manière on peut définir grâce à nargout des fonctions qui renvoient un nombre variable
de valeurs de retour, un peu comme le fait la fonction eig. Voici un exemple à commenter :
 
function [ e c d f , mi , ma, dt , r g ]= empcdf ( e , n )
i f ( nargin==1), n=10; end
i f ( nargout >= 2 ) , mi=min( e ) ; end
i f ( nargout >= 3 ) , ma=max( e ) ; end
i f ( nargout >= 4 ) , dt=(ma−mi ) / n ; end
i f ( nargout >= 5 ) , r g=ma−mi ; end
[ f r e q u e n c e s , c l a s s e s ]= h i s t ( e , [ min( e ) : ( max( e)−min( e ) ) / n :max( e ) ] ) ;
e c d f=cumsum( f r e q u e n c e s ) / length ( e ) ;
figure ;
plot ( [ min( e ) : ( max( e)−min( e ) ) / n :max( e ) ] , e c d f ) ;
 
Les calculs sont accélérés de façon spectaculaire en utilisant des opérations vectorielles en lieu et place
de boucles. Comparons les deux fonctions suivantes (la commande tic déclenche un chronomètre ; toc
arrête le chronomètre et retourne le temps écoulé depuis tic) :
 
function [ t , b ] = t e s t 1 ( n )
% determine le temps mis pour creer la liste
% des racines carrees des entiers compris entre 1 et n
m = 0 ;
tic ;
for k = 1 : 1 : n
b ( k ) = m+sqrt ( k ) ;
end
t = toc ;
 
 
function [ t , b ] = t e s t 2 ( n )
% determine le temps mis pour creer la liste
% des racines carrees des entiers compris entre 1 et n
tic ;
a = 1:1:n;
b = sqrt ( a ) ;
t = toc ;
 

Exercice 4.1. Vérifier que test2 est plus efficace que test1.
Matlab dispose d’un utilitaire appelé profiler qui est précieux pour étudier les performances d’une ou
plusieurs fonctions. Les modalités d’utilisation du profiler ont évolué en fonction des versions de Matlab.
On les trouvera dans l’aide en ligne help profile.
Exercice 4.2. 1. Créez à l’aide d’un éditeur un fichier que vous appellerez sigma2a.m qui contiendra
le texte suivant :
 
function s=sigma2a ( n )
% calcule la somme des carres des n premiers entiers
s=0 ; k=1 ;
for k = 1 : n
s=s +(k∗k ) ;
end
 

Septembre 2007. Copyright c A. Popier [email protected]. GNU FDL Copyleft. Page n˚8.
Université de Maine – Master 1-E.D.P. – 2007-2008. Page n˚9.

2. Dans la fenêtre matlab taper s=0 ; s = sigma2a(100) puis s=1000 ; s = sigma2a(100). Conclu-
sion ?
3. Créez de même le fichier sigma2b.m contenant le texte :
 
function s=sigma2b ( n )
% somme des carres a partir de la liste des n premiers entiers
s=0 ; k=1 ;
while ( k<=n )
s=s +(k∗k ) ;
k=k +1;
end
 
4. Enfin créez le fichier sigma2c.m contenant le texte :
 
function s=sigma2c ( n )
% somme des carres a partir de la liste des n premiers entiers
l =(1 : n ) . ˆ 2 ;
s=sum( l ) ;
 
5. Testez les fonctions sigma2a, sigma2b et sigma2c. Pour comparer leurs performances utilisez la
commande profile que vous chercherez dans l’aide. Concluez.

5 Représentations graphiques
Le principe général des représentations graphiques est de se ramener à des calculs sur des matrices ou
des vecteurs. Ainsi la représentation d’une fonction de R dans R commencera par la création d’un vecteur
abcisses, en général réguli
‘erement espacées, auquel on applique la fonction pour créer le vecteur des ordonnées.
La commande plot permet de représenter des listes de points.
 
clear ;
x = −pi : 0 . 1 : 3 ∗ pi ; y = x . ∗ sin ( x ) ;
% Création d ’ une nouvelle fen^ e tre graphique .
figure ;
plot ( x , y )
% Axes
axis ([ − pi , 3 ∗ pi , − 6 , 9 ] )
% Titres de la figure , des abscisses , et des ordonnées
title ( ’x sin (x) ’ )
xlabel ( ’ a b s c i s s e s x ’ )
ylabel ( ’ o r d o n né e s y ’ )
% Garde la fen^ e tre graphique
hold on
plot ( x , 2 ∗ y , ’ g−− ’ )
% Légende
legend ( ’ B l a b l a ’ , ’ b l a b l a ’ )
hold o f f
 
Les commandes fplot et polar permettent de représenter des fonctions et les coordonnées po-
laires. quiver, bar et hist donnent le champ de vecteurs, un diagramme en bâtons, et un histo-
gramme. Les options -,- -, :,-.,.,+,*,o,x sont différents types de courbes, tandis que les couleurs
sont y,m,c,r,g,b,w,k.
Pour la dimension 3, on utilisera les commandes

Septembre 2007. Copyright c A. Popier [email protected]. GNU FDL Copyleft. Page n˚9.
Université de Maine – Master 1-E.D.P. – 2007-2008. Page n˚10.

plot3 lignes et points en dimension 3.


contour courbes de niveaux en projection.
contour3 courbes de niveaux en dimension 3.
meshgrid grille de représentation.
mesh représenter les points sur une grille.
meshc grille et courbes de niveaux.
surf représenter une surface.
surfc surface et courbes de niveaux.
 
clear ;
[ x , y ] = meshgrid(−pi : 0 . 2 : pi ,− pi : 0 . 2 : pi ) ;
z=sin ( x . ∗ y ) ;
contour ( z )
contour3 ( z )
mesh( z )
surf ( z )
surf ( z ) , colormap ( hot )
surfc ( z )
meshc( z )

clear ;
t = 0 : 0 . 1 : 2 ∗ pi ;
x=sin ( t ) ; y=sin ( 2 ∗ t ) ; z=sin ( 3 ∗ t ) ;
plot3 ( x , y , z )
u=0:0.1:1;
x=u ’ ∗ x ; y = u ’ ∗ y ; z=u ’ ∗ z ;
figure ;
surf ( x , y , z )
 

Septembre 2007. Copyright c A. Popier [email protected]. GNU FDL Copyleft. Page n˚10.

Vous aimerez peut-être aussi