Introduction à Matlab
Majed Chemkhi
Table des matières
1 Environnement Matlab 5
2 Commandes d’environnement 10
6 Polynômes 13
2
9.1 Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
9.2 Fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
11 Opérations d’entrée/sortie 24
12.1 Graphes en 2D . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
12.2 Graphes en 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
12.2.2 Surfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
13 Applications 32
3
13.1 Méthode de Gauss . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4
1 Environnement Matlab
L’avantage de Matlab, c’est que c’est un langage interprété, c’est à dire qu’il exé-
cute directement les commandes introduites par l’utilisateur sans passer par une
étape de compilation. De plus, Matlab possède un très grand nombre de fonctions
allant des fonctions élémentaires telles que les fonctions trigonométriques, les
opérations sur les matrices, la génération de nombres aléatoires jusqu’aux fonc-
tions les plus compliquées telles que des méthodes numériques pour le calcul ma-
triciel ou la résolution d’équations différentielles ou encore des méthodes d’opti-
misation. Il contient aussi des outils de représentation graphique en 2D ou 3D.
Lors de son lancement (via la commande Matlab par exemple), l’interface gra-
phique de Matlab 3 se présente (voir figure 1) comme plusieurs fenêtres avec une
barre de menu.
1. http ://www.mathworks.com/
2. http ://www.mathworks.com/products/matlab/index.html
3. Cette interface est relative à la version de Matlab de 2007.
5
F IGURE 1 – Interface de Matlab (version R2009 b).
Command Window
6
Workspace
Les variables définies par l’utilisateur sont rangées dans l’espace mémoire de Mat-
lab, ces variables sont dites globales.
Current Folder
Matlab permet d’ouvrir, de créer, de modifier etc ..., des fichiers. Matlab sauve-
garde tous les fichiers créés dans le répertoire par défaut qu’il est possible de
modifier à l’aide de la commande cd ou en lançant le Current Folder. (voir fi-
gure 4)
7
F IGURE 4 – Interface de Matlab : Current Folder.
Command History
Contient l’historique des commandes. Elle permet donc de ne pas réecrire d’an-
ciennes (longues) commandes et ceci en cliquant sur la commande qu’on veut
lancer. Il est aussi possible de relancer une ancienne commande en tapant sur la
flêche du haut du clavier dans la fenêtre de commandes. (voir figure 5)
8
F IGURE 5 – Interface de Matlab : Command History.
>> a=2+3
>> a=
5
Matlab contient aussi des commandes générales qu’on appellera commandes d’en-
vironnement et qui permettent de simplifier le travail de l’utilisateur. Les com-
mandes les plus courantes sont décrites dans la section qui suit.
9
2 Commandes d’environnement
Matlab est une énorme librairie de fonctions prédéfinies. Pour pouvoir découvrir
l’ensemble des commandes prédéfinies dans Matlab, on peut tout simplement ta-
per help. La commande affiche donc la totalité des topics (fonctionnaliées regrou-
pées). On cite par exemple :
– Matlab/general,
– Matlab/2d,
– Matlab/elmat,
– Matlab/elfun,
– ...
Si on cherche à connaître la syntaxe correcte et/ou les options pour utiliser une
commande donnée (par exemple la commande plot pour tracer des figures), on
10
fait help plot.
Exercice :
Trouver dans l’aide le nom de la fonction renvoyant les valeurs propres d’une
matrice.
L’opération la plus élémentaire sous Matlab est l’affectation. On peut par exemple
déclarer un scalaire en tapant a=10. Si on exécute une opération, par exemple
2 + 3, et qu’on ne stocke pas la résultat dans une variable, le résultat de cette
opération sera automatiquement stocké dans une variable ans qu’on pourra utiliser
par la suite. Dans le cas où l’on ne veut pas afficher sur l’écran le résultat d’une
commande, il suffit d’ajouter après la commande un point-virgule.
Les nombres réels sont écrits sous les formes décimales ou scientifiques usuelles :
11
2, 3.214, -.546, 1.21e33, 5.78e-16, ...
Il existe aussi certains scalaires prédéfinis tels que pi (π), NaN (Not a Number),
Inf (∞), eps (= 2.2204e-16, precision machine), realmin (=2.2251e-308), real-
max (1.7977e+308), ...
√
La constante i est le nombre imaginaire −1 prédéclaré. Les nombres complexes
sont écrits sous la forme a + bi où a et b sont des nombres réels. Il est impératif
de ne mettre aucun blanc entre le nombre b et i. Ainsi 3+ 4i et 3 + 4i sont
valables mais 3+4 i n’est pas reconnu.
Pour comparer deux réels, on peut utiliser les commandes pour la comparaison.
On en cite >=, <, . . .
>> c=’Bonjour’
Exercice :
Chercher les commandes dans l’aide de Matlab qui permettent de donner le loga-
rithme et la racine carrée, le carré et la partie entière d’un réel.
Remarque :
T
L’opérateur transposé "’" transforme un vecteur V en V . Par exemple : la com-
mande [1, 2- 3i]’ donne comme résultat :
12
1
2+3i
Si le vecteur est trop long, on peut le crée, dans certains cas, de manière automa-
tique :
v=[1:4] ou v=[2:3:15].
On peut aussi utiliser des structures itératives tels que la boucle for qu’on définira
par la suite. Dans ce cas, on crée un vecteur vide : v=[] puis on le concatène en
faisant par exemple v=[v,2]
On peut créer un vecteur contenant que des ‘0’ ou des ‘1’ en tapant :
v=zeros(2,1) 4 , w=ones(5,1) ou aussi des nombres aléatoires en utilisant
la commande v=rand(5,1).
6 Polynômes
Dans Matlab, un polynôme est représenté par le vecteur de ses coefficients, com-
mençant par le degré le plus élevé. Par exemple, pour déclarer le polynôme :
4. Cette commande donne un vecteur colonne à deux linges. La commande v=zeros(1,2)
donnerait un vecteur ligne à deux colonnes.
13
P (x) = 3x2 − 5x + 2, il suffit de le représenter par le vecteur P :
>> P = [3 -5 2]
P = 3 -5 2
Exercice :
Soit Q le polynôme défini par : Q(x) = 3x3 − 4x + 1.
1) Utiliser la fonction polyval, pour calculer les Q(1), Q(3), Q(−5).
2) Soit x le vecteur déclaré par la commande x=[-1:0.1:2]. Entrer la com-
mande polyval(Q,x) et observer le résulat.
3) Résoudre l’équation Q(x) = 0.
4) Donner la dérivée de Q.
Les matrices se déclarent comme des vecteurs. En effet, Matlab considère les
vecteurs comme des matrices spécifiques (à une seule ligne ou une seule colonne)
et considère les scalaires commes de matrices de dimension 1 × 1.
>> A=[1,2;3,5]
A= 1 2
3 5
14
Exercice :
Entrer les commandes suivantes et en commenter les résultats :
1) A=rand(4,3), A(2,:), A(:,3), A(1:2,2:3), length(A), size(A).
2) eye(2), eye(2,4), ones(2,6), ones(3), zeros(5), zeros(4,3).
3) Soient C=rand(3,3) et D=rand(3,3). Que font les instructions suivantes :
Exercice :
On note par A, B et C les matrices suivantes
1 3 2
−5
A=
3 1, B= 1 −2 5 , C= 10 −5 .
−10 0 3 6 1 −1 3 1
1 0 −2
1) Calculer avec Matlab, quand c’est possible, les produits AB, BA, BC, CB
et AB T . Pour certains produits Matlab renvoie un message d’erreur, expliquer
pourquoi ?
2) Calculer la matrice D = I2 − BB T .
3) Calculer les déterminants des matrices A, B, C, D et E = AAT .
4) Calculer les inverses des matrices A, B, C, D et E.
5) Calculer les valeurs propres de la matrice E. Quel est le rayon spectral de E ?
6) Déterminer les vecteurs propres de la matrice E ?
Il est aussi possible de créer une matrice par concaténation. Lorsque les dimen-
sions de deux matrices A et B sont adéquates, on peut lancer la commande [A
B] ou [A,B] qui donnera une nouvelle matrice.
Exercice :
1) Concaténer les matrices A=rand(4,3) et B=ones(1,3) en utilisant la
bonne opération.
2) Construire la matrice
15
1 2.4 0 0 0 0 5
1 0 2.4 0 0 0 6
1 0 0 2.4 0 0 7
1 0 0 0 2.4 0 8
1 0 0 0 0 2.4 9
en utilisant la concaténation.
1 −2 0 0 0
4 1 −1 0 0
0 9
A= 1 0 0
0 0 16 1 1
0 0 0 25 1
Exercice :
1) Consulter l’aide de Matlab pour découvrir les fonctions sparse, full, spdiags,
speye, spones et sprandn.
2) Exécuter la commande sparse(A) où A est la matrice déclarée dans l’exer-
cice précédent.
16
8 Structures conditionnelles et itératives
Les structures if, switch et while sont souvent associées à des expressions
booléennes. Ces expressions booléennes utilisent des opératuers booléens tels
que :
Les opérateurs booléens sont "NON" ( e =), "EGAL" (==), "OU" (|), "ET" (&) et
"OU EXCLUSIF" (xor).
Exercice :
Entrer successivement les commandes suivantes puis les commenter :
a=5, a==5 et a==3.
1)
if expression booléenne
instructions
end
2)
if expression booléenne
instructions
else
instructions
end
3)
if expression booléenne
instructions
17
elseif expression booléenne
instructions
else
instructions
end
switch expression
case valeur 1
suite d’instructions 1
case valeur 2
suite d’instructions 2
..
.
case valeur N
suite d’instructions N
otherwise
autres instructions
end
18
Remarque :
Dans la structutre précédente, si le pas est égal à 1, on peut remplacer l’écriture
"debut :1 :fin :" par "debut :fin".
Exercice
1) Déclarer le vecteur u=rand(4,1).
2) Exécuter la commande v1=sin(u).
3) Exécuter la commande
for i=1..size(u),
v2(i)=sin(u(i))
end
while expression
instructions
end
Exercice
En utilisant la boucle while, écrire une commande qui permet de déterminer si
l’entier 137 est premier ou non.
19
9 Programmation et utilisation de fonctions
9.1 Scripts
Si les commandes entrées par l’utilisateur sont de plus en plus compliquées et né-
cessitent d’introduire de nouvelles fonctions, il est possible d’utiliser l’éditeur de
textes incorporé dans Matlab pour créer des scripts ayant en général l’extension
“.m”. On peut lancer par la suite les commandes contenues dans un script Exem-
pleScript.m en tapant juste ExempleScript dans l’invite de commandes Matlab.
Remarques :
1) Pour lister l’ensemble des fichiers *.m ou *.mat disponibles, il suffit d’utiliser
la commande what.
2) Lors de l’édition d’un script, il est possible de rajouter des commentaires expli-
catifs sur l’utilité et l’intérêt des commandes écrites. Ces commentaires peuvent
simplifier l’utilisation et la compréhension du contenu du script par un autre uti-
lisateur. Un commentaire est toujours précédé par le signe % comme l’indique
l’exemple suivant :
Exercice :
1) Créer à partir de l’éditeur de Matlab un fichier ExempleScript.m contenant les
lignes suivantes :
V=rand(10,1);
M=abs(V(1));
for i=2:length(V)
if (abs(V(i)) > M)
M=abs(V(i));
end
end
20
9.2 Fonctions
NormeInf(rand(12,1))
[vars1,vars2,...]=nomfonction(vare1,vare2,..)
Remarques :
1) Le nom d’une fonction nomfonction doit être déclaré dans un script appelé
nomfonction.m.
5. Cette fonction existe déjà sous Matlab mais on donne cet exemple pour expliquer la notion
de fonction.
21
2) Une fonction peut être déclarée enrichie de commentaires de la manière sui-
vante :
help nomfonction
On peut aussi utiliser la commande inline pour définir des fonctions sous forme
analytique. Par exemple, la commande
Exercice :
Ecrire les fonctions permettant de calculer pour un vecteur X = (x1 , x2 , . . . , xn )
de Rn sa norme
Pi=n
1) kXk1 = i=1 |xi |.
P 1/2
i=n 2
2) kXk2 = x
i=1 i .
Exercice :
Reprendre la fonction NormInf déclarée ci-dessus et la réécrire en utilisant la
commande sort.
22
10 Utilisation de fonctions aléatoires
Matlab incorpore des fonctions permettant de générer des nombres (pseudo) aléa-
toires. Le terme (pseudo) aléatoire est utilisé car la génération de ces nombres ne
dépend pas vraiment du hasard mais d’une graine ("seed" en anglais) qui est en
général le nombre de secondes à partir d’un date donnée.
Plusieurs lois de probabilité sont incorporées dans Matlab. Selon que l’espace
détats des réels tirés aléatoirement soit discret ou continu, la loi de probablilité
est appelée discrète ou continue. Pour avoir une idée sur l’ensemble des loi de
probabilités progammés dans Matlab, entrer la commande :
help random
Exercice :
Exécuter les commandes permettant de tirer aléatoirement des réels suivant les
lois binomiale et de Poisson.
Exercice :
Ecrire la commande qui permet de tirer aléatoirement et uniformément des réels
dans l’intervalle [−2, 1].
23
1
moyenne X N jusqu’à atteindre la probabilité 2
à 0.001 près.
11 Opérations d’entrée/sortie
Exercice :
Exécuter successivement les commandes a=12, disp (a), disp a et disp
(’a’) et commenter les résultats.
Dans le cas où l’on veut afficher des messages plus élégants du type :
"Les variables a et b sont 2 et 2.3".
on peut utiliser la commande sprintf comme suit :
24
11.1.2 Lecture/écriture dans un fichier
La commande
>> A = fscanf(fid,format)
permet de lire à partir d’un fichier (en ASCII) les données avec le format spécifié.
Un format est une chaîne de caractères spécifiant en lecture le type de données à
lire :
\%d : pour un entier
\%f : pour un réel
\%c : pour un caractère.
25
11.2 Entée/Sortie des données formatées
save fname : sauve (format binaire par défaut) tous les variables de la session ;
save fname X : sauve X seulement ;
save fname X Y Z : sauve X, Y, et Z ;
save fname X -ascii : utilise le format ASCII 8-digit ;
save fname X -ascii -double : utilise le format ASCII 16-digit ;
save fname X -ascii -tab : utilise le format ASCII 8-digit délimité par
des tabs.
if exist(fname, ’file’)
load(fname);
end;
Exercice :
Écrire une commande qui permet de vérifier si un répertoire ’REP’ existe ou pas
et de le créer en faisant mkdir sinon.
Remarque :
D’autres commandes comme fclose, fwrite, fseek, fprintf sont prévus
26
pour le traitements des opération d’entrée/sortie depuis et vers des fichiers. Des
détails sur ces commandes (et d’autres) sont disponibles dans la table Entrée-sortie
de la section 14.
Tous les calculs effectués dans Matlab le sont en double précision. Cependant le
format d’affichage des résultats peut être contrôlé par la commande format. On
distingue les formats suivants :
Exercice :
On considère une expérience simple qui consiste à créer aléatoirement uniformé-
ment un vecteur de taille i et de sauvegarder sa norme dans un fichier nommé
Expériencei.mat.
On suppose que l’on doit effectuer 10 fois cette expérience (pour i ∈ [1, 10]) et
sauvegarder les résultats de ces 10 expériences dans les fichiers Expériencei.mat
correspondant. En utilisant la boucle ’for’, sauvegarder de manière automatique
ces résultats dans les fichiers correspondants.
Pour consulter l’aide sur tout ce qui est représentations graphiques, on peut taper
help plot.
Les principales fonctions pour les graphiques 2D sont :
plot, plotyy, loglog, semilogx, semilogy, figure, close, subplot,
...
27
12.1 Graphes en 2D
Exercice
1) Effectuer successivement les commandes suivantes et commenter les résultats
obtenus
>> x=-1:0.1:1
>> y=sin(x)
>> plot(x,y)
>> title(’Exemple de graphique 2D’)
>> xlabel(’Axe des abscisses’)
>> ylabel(’Axe des ordonnees’)
>> grid on
>> hold on
>> plot(x,cos(x),’+r’);
>> plot(x,sin(x),’+-b’);
Exercice
Faire la représentation graphique de la fonction f définie par
f (x) = cos2 (x) x ∈ [0, 5]
1) Pour tracer, on utilisera 6 points puis 26 et enfin 301 points équirépartis dans le
segment [0, 5].
Préciser dans chaque cas la subdivision utilisée.
2) Représenter sur la même figure les fonctions :
f (x) = cos2 (x), g(x) = cos(2x), h(x) = cos(x2 ), pour x ∈ [0, 5]. Penser à
utiliser des symboles différents pour les différentes représentations graphiques et
à mettre une légende. On pourra faire help plot pour consulter la liste des
options, styles et symboles.
28
12.1.1 Courbes en coordonnées polaires
Les courbes en coordonnées polaires peuvent être obtenues via la commande po-
lar.
Exercice :
1) En utilisant la commande polar, tracer la courbe polaire
r = 2 + 2 cos(θ), θ ∈ [−π, π] .
Exercice
On se propose de caractériser et comparer les lois : uniforme sur [-4,4], normale de
moyenne 0 et deviation standard 1 et la loi normale de moyenne 0 et de déviation
standard 2.
1) Ecrire une fonction matlab MyFunction permettant, pour une loi donnée de :
– Générer un vecteur v1 de taille 106 dont les éléments sont tirés aléatoirement
selon cette loi.
– Ordonner les éléments de ce vecteur
– Déclarer le vecteur v2=[-4:0.1:4]
– Pour chaque v2(i), calculer ni comme étant les nombre d’éléments de v1 dans
l’intervalle [v2(i), v2(i + 1)[.
– Construire N = (ni ). Normaliser les éléments de N par 106 .
L’argument de sortie de la fonction MyFunction est le vecteur N .
2) Lancer la fonction MyFunction pour les trois lois citées au début de l’exercice.
3) Tracer N en fonction de v2 pour chacune de ces lois et commenter les résultats.
4) Pour chacune des lois étudiées, quelle est la probabilité de tirer un réel dans
29
[−1, 1], [−2, 2] et [−3, 3].
5) Reprendre la question 3 en utilisant seulement la commande hist et sans
passer par la fonction MyFunction.
Exercice
Tester les commandes : bar, stairs, stem.
Exercice
Déclarer les vecteurs X = [0, π/10, 2π/10, ...., 2π], Y 1 = sin(X) et Y 2 =
cos(X), puis utiliser subplot(2,1,1) et subplot(2,1,2) pour tracer sur
une même figure les deux graphes des fonctions sinus et cosinus, l’un en dessous
de l’autre.
12.2 Graphes en 3D
Les principales fonctions disponibles pour tracer des graphes en 3D sont : plot3,
mesh, meshgrid, surf, surfc, ezmesh, ezmeshc, ezsurf, ezsurfc,
sphere, cylinder,. . .
Exercice
Utiliser l’aide de Matlab pour découvrir ce que font ces fonctions.
Exercice
Tracer la courbe paramétrique x = cos(t), y = sin(t) et z = t2 en utilisant la
30
commande adéquate, où t = [0, π/10, . . . , 10π].
12.2.2 Surfaces
Exercice p
1) Tracer la surface z = sin(r)/r où r = x2 + y 2 + z 2 en utilisant la commande
ezmesh puis la commande ezsurfc.
2) Pour un tracé de meilleure qualité (dégradé de couleur sans grid), taper ensuite
shading interp.
31
13 Applications
1 2 3 6 1
4 3 2 3 2
A= et b=
1 .
9 9 1 −2
4 2 2 1 4
2x + 3y + 4z = 3
x−y−z =0 (1)
−x + 4y + z = 5
32
1) Écrire ce système sous la forme AX = b (Donner A et b).
2) Donner la solution du sytème en utilisant :
– la commande inv
– la commande linsolve
– la commande A \ b
– la méthode de Gauss (Utiliser la fonction de l’exercice précédent) :
1. A(2, :) = A(2, :) − 21 A(1, :)
2. b(2) = b(2) − 12 b(1)
3. A(3, :) = A(3, :) + 21 A(1, :)
4. b(3) = b(3) + 12 b(1)
5. . . .
5) Comparer les résultats.
d2 u
− 2 = 4π 2 sin(2x), ∀x ∈]0, 1[ .
dx
On utilisera pour cela l’approximation :
d2 u ui+1 − 2ui + ui−1
2
(xi ) ' avec u(xi ) = ui et xi = i ∗ h .
dx h2
Assembler la matrice du Laplacien. On notera que sa structure étant diagonale, on
aura tout intérêt à utiliser judicieusement les commandes speye et colon pour évi-
ter d’écrire la moindre boucle. Pour s’en convaincre, utiliser la commande whos
-name nomVar pour afficher la taille de la variable nomVar.
2. Résolution d’un système linéaire – Affichage 2D
a) Résoudre le problème à l’aide de la méthode de Gauss.
b) Afficher la solution à l’aide de la commande plot.
c) Mêmes questions avec le problème suivant (on éditera le fichier laplacien2D.m) :
d2 u d2 u
− − = 13π 2 sin(2x) cos(3y), ∀(x, y) ∈]0, 1[×]0, 1[ .
dx2 dy 2
33
On utilisera également une discrétisation en x et y. Afin de tester une autre mé-
thode d’assemblage de matrice, on pourra utiliser les commande speye, spdiags
et ones de manière judicieuse. Pour l’affichage, on utilisera cette fois-ci la com-
mande surf et la commande reshape.
34
14 Liste des commandes utiles
Commandes système
cd Change de répertoire
delete Détruit un fichier
diary Sauvegarde la session en cours dans un fichier texte
dir Affiche le contenu du répertoire courant
getenv Retourne la valeur d’une variable d’environement
unix Exécute une commande système et retourne le résultat
! Exécute une commande système
35
Contrôle de la fenêtre des commandes
clc Efface la fenêtre des commandes
echo Renvoie les commandes d’un fichier M
format Contrôle le format d’affichage
home Place le curseur en haut de la fenêtre des commandes
more Affichage page par page dans la fenêtre
Horloges
clock Date et heure sous forme de vecteur
cputime Temps CPU
date La date d’aujourd’hui
etime Mesure un intervalle de temps
tic, toc Chronomètre
36
Opérateurs et caractères spéciaux
+ Plus
- Moins
* Produit
.* Produit élément par élément
^ Puissance de matrice
.^ Puissance élément par élément
kron Produit tensoriel de Kronecker
\ Backslash ou division à gauche
.\ Division à gauche élément par élément
/ Slash ou division à droite
./ Division à droite élément par élément
: Indices ou génération de vecteur
() Parenthèses, arguments d’entrée de fonction
[] Crochets, arguments de sortie de fonction
. Point décimal
.. Répertoire parent
... Continue l’instruction sur la ligne suivante
,; Séparateurs
% Commentaires
! Commande système
’ Transposition (complexe conjugué), chaine de caractère
.’ Transposition non complexe
= Affectation
== Egalité
<> Opérateurs relationnels
& ET logique
| OU logique
~X NON logique
xor OU EXCLUSIF logique
37
Variables et constantes prédéfinies
ans Variable d’affectation par défaut
computer Type d’ordinateur et de système
eps Epsilon machine
i, j Unités imaginaires
inf Infini
NaN Not-a-number
nargin Nombre d’arguments d’entrée d’une fonction
nargout Nombre d’arguments de sortie
pi 3.14159265358979
realmax Plus grand nombre flottant
realmin Plus petit nombre flottant
38
Fonctions mathématiques élémentaires
abs Valeur absolue
acos Cosinus inverse
acosh Cosinus hyperbolique inverse
angle Argument
asin Sinus inverse
asinh Sinus hyperbolique inverse
atan Tangente inverse
atanh Tangente hyperbolique inverse
ceil Plafond
conj Conjugué
cos Cosinus
cosh Cosinus hyperbolique
exp Exponentielle
fix Arrondi vers 0
floor Plancher
imag Partie imaginaire
log Logarithme népérien
log10 Logarithme décimal
real Partie réelle
rem Reste de la division euclidienne
round Arrondi vers l’entier le plus proche
sign Signe
sinh Sinus hyperbolique
sqrt Racine carrée
tan Tangente
tanh Tangente hyperbolique
39
Fonctions logiques
all Vrai si tous les éléments d’un vecteur sont non nuls
any Vrai si au moins un élément d’un vecteur est non nul
exist Vérifie si une variable ou une fonction existe
find Retourne les indices des élélements non nuls
isempty Vrai pour matrice vide
isinf Vrai pour élément infini
isnan Vrai pour NaN (Not-a-Number)
issparse Vrai pour matrice creuse
isstr Vrai pour chaine de caractère
Instructions de contrôle
break Termine une boucle
else sinon, utilisé avec if
elseif sinon si, utilisé avec if
end Termine for, if et while
error Retourne un message d’erreur et termine une fonction
for Répétition
if Instruction conditionnelle
return Retour à la fonction appelante
while Boucle tant que
Instructions interactives
input Attente d’une entrée au clavier
keyboard Donne la main à l’utilisateur juqu’à un return
menu Crée un menu
pause Attente de réponse
40
Création de matrices
eye Matrice identité
linspace Génère des vecteurs espacés arithmétiquement
logspace Génère des vecteur espacés logarithmiquement
meshgrid Génère une grille pour les graphes en 3D
ones Matrice de 1
rand Générateur aléatoire selon une loi uniforme
randn Générateur aléatoire selon une loi normale
zeros Matrice de 0
Manipulation de matrice
diag Crée ou extrait une matrice diagonale
fliplr Permutte les colonnes d’une matrice
flipud Permutte les lignes d’une matrice
reshape Modifie la taille d’une matrice
rot90 Rotation de 90◦ dans le sens trigonométrique
tril Extrait une matrice triangualaire inférieure
triu Extrait une matrice triangualaire supérieure
41
Analyse numérique matricielle
chol Factorisation de Cholesky
cond Conditionnement
det Déterminant
eig Valeurs propres et vecteurs propres
inv Inverse
lscov Moindres carrés avec matrice de covariance donnée
lu Factorisation LU
nnls Moindres carrés avec contrainte de positivité
norm Norme
null Base orthonormale du noyau
orth Base orthonormale de l’image
pinv Pseudoinverse
poly Polynôme caractéristique
rank Rang (= dimension de l’image)
svd Décomposition en valeurs singulières
trace Somme des éléments diagonaux
/ Résolution d’équations linéaires
Analyse de données
corrcoef Coefficients de corrélation
cov Matrice de covariance
cumprod Produits cumulés des composantes
cumsum Sommes cumulées des composantes
max Plus grande composante
mean Moyenne des composantes
median Médiane des composantes
min Plus petite composante
prod Produit des composantes
sort Tri des composantes
std Ecart type des composantes
sum Somme des composantes
42
Polynômes
conv Produit de polynômes
deconv Division de polynômes
poly Définit un polynôme à partir des racines
polyder Polynôme dérivé
polyfit Interpolation polynomiale
polyval Valeur d’un polynôme
polyvalm Valeur d’un polynôme avec argument matriciel
residue Décomposition de fraction rationnelle
roots Racines d’un polynôme
Méthodes numériques
del2 Approximation du Laplacien
diff Différences finies
gradient Approximation du gradient
fmin Minimise une fonction d’une variable
fmins Minimise une fonction de plusieurs variables
fplot Graphe de fonction
fzero Zéro d’une fonction d’une variable
ode43 Intégration e.d.o.
ode45 Intégration e.d.o., méthodes d’ordre supérieur
quad Intégration numérique
quad8 Intégration numérique, méthodes d’ordre supérieur
trapz Intégration numérique, méthode des trapèzes
Chaines de caractères
lower Conversion en minuscules
strcmp Comparaison de chaines de caractères
upper Conversion en majuscules
int2str Entier → Chaine
num2str Valeur numérique → Chaine
sprintf Ecriture formatée
sscanf Lecture formatée
str2num Chaine → Valeur numérique
43
Entrée-sortie
fclose Ferme un fichier
ferror Nature d’une erreur d’entrée-sortie
fgetl Lecture de ligne, pointeur en fin de ligne
fgets Lecture de ligne, pointeur en début de ligne
fopen Ouvre un fichier
fprintf Ecriture de données formatées
fread Lecture de données binaires dans un fichier
frewind Pointeur en début de fichier
fscanf Lecture de données formatées
fseek Positionne le pointeur
ftell Renvoie la position du pointeur
fwrite Ecriture de données binaires dans un fichier
sprintf Ecriture de données formatées en chaine de caractères
sscanf Lecture de chaine de caractères selon un format
Graphiques 2D
bar Diagramme en barres
fplot Graphe de fonction
hist Histogramme
plot Graphe 2D
polar Graphe en coordonnées polaires
stairs Graphe en escalier
Graphiques 3D
contour Lignes de niveau
mesh Graphe 3D
surf Graphe 3D avec effet d’ombre
44
Commandes graphiques diverses
axes Création d’axes
axis Contrôle des axes de coordonnées
clf Efface la figure courante
close Ferme une fenêtre graphique
figure Ouvre une nouvelle fenêtre graphique
ginput Renvoie la position de la souris sur un graphique
grid Quadrillage
hold Permet d’ajouter des tracés à un graphique déjà existant
legende Ajoute une légende
subplot Plusieurs figures dans un même fenêtre
text Placement de texte
title Titre de graphique
xlabel Titre de l’axe des x
ylabel Titre de l’axe des y
zlabel Titre de l’axe des z
45