Vous êtes sur la page 1sur 14

Introduction à MatLab

I. Introduction – Présentation

I.1. Qu'est-ce que MatLab ?

MatLab est un système interactif de programmation scientifique, pour le calcul numérique et la


visualisation graphique. Développé à l’origine pour le calcul matriciel (le nom MatLab est
dérivée de cette représentation MatLab = Matrix Laboratory), il offre aujourd’hui bien d’autres
possibilités, dont certaines seront decrites dans la suite. Il contient des bibliothèques spécialisées
(toolbox) qui répondent à des besoins spécifiques : analyse numérique, traitement du signal,
traitement de l’image, etc.

MatLab est un logiciel qui permet de faire des calculs mathématiques et numérique, et non un
logiciel de calcul formel et symbolique comme Maple.. Matlab connaît un grand nombre
d'opérations ou de fonctions mathématiques : fonctions usuelles, calcul matriciel, fonctions plus
spécifiques du signal (FFT, etc).

Exemple : Si a est un vecteur qui contient les échantillons d'un signal, A = fft(a,128) est le
vecteur qui contient la transformée de Fourier rapide des 128 premiers échantillons du signal.

Remarque : dans toute la suite, on utilisera la notation suivante : italique (nom à donner par
l’utilisateur à une variable, etc), gras (noms généraux), rouge (nom de fonction ou d’instruction
MatLab).

I.2. Accès à MatLab :

MatLab est disponible sur différentes plateformes (unix, pc, mac, etc). On accède au logiciel en
lançant l'exécutable matlab suivant la procédure habituelle de l'environnement concerné.

On se retrouve alors dans la fenêtre de commande où on peut écrire des commandes ou exécuter
des fonctions. On sort du logiciel en tapant quit ou exit.

I.3. Aide en ligne :

La suite a pour but de vous familiariser avec MatLab. On peut se rendre compte de la puissance
du logiciel en lançant la commande demo.
Les compléments d'information peuvent être facilement obtenus grâce à l'aide en ligne incluse
dont l'accès s'obtient en tapant au clavier :

?? help help : pour apprendre à utiliser l’aide


?? help : donne la liste des aides générales disponibles en ligne
?? help general : liste de commandes de contrôle
?? help function : pour plus d'info sur la fonction function
?? help sujet : renvoie la liste des fonctions relatives à sujet
?? help opération : pour plus d'info sur l’opération opération
?? help nom-de-commande : pour plus d'info sur la commande nom-de-commande
?? lookfor : recherche par mots clés dans les fichiers d'aide

I.4. Opérations, fonctions, commandes :

Les fonctions usuelles sont séparées en deux : les fonctions élémentaires (elfun) et les fonctions
spéciales (specfun). Vous pouvez aussi créer vos propres fonctions (voir plus bas). Pour obtenir
de l’aide, tapez : help elfun, help specfun

Quelques opérations avec des matrices :


?? x = [1 2 4 5 7 3] retourne le vecteur (1,2,4,5,7,3).
?? (a:k:z) retourne le vecteur (a,a+k,a+2k,a+3k,...,a+Nk), avec N tel que a+Nk ?
z?? ?a+(N+1)k.
?? x(m:n) retourne les valeurs de x d'indice compris entre m et n.
?? additionner deux vecteurs x et y de même longeur z=x+y
?? multiplier terme à terme deux vecteurs de même longeur z = x.*y (notez le . avant le *)

Liste non exhaustive de fonctions :


?? zeros (N) : crée une matrice N*N remplie de 0
?? ones (N) : crée une matrice N*N remplie de 1
?? rand (N) : crée une matrice N*N dont tous les éléments sont aléatoires
?? diag (N) : crée une matrice N*N diagonale
?? Les fonctions trigonométriques (et trigonométriques inverses) usuelles cos(x), sin(x), etc
?? abs(x) retourne la valeur absolue pour un réel, ou le module pour un complexe
?? angle(x) retourne l'argument du complexe x entre -? et ?
?? y = max(x) retourne la valeur maximale du signal x. (y est un scalaire)
?? y = max(x,40) retourne un vecteur contenant les échantillons de x lorsqu'ils sont ? ou ? ?40
?? R = roots(a) retourne les racines du polynôme dont les coefficients sont dans le vecteur a
?? fft, ifft : transformation de Fourier (Fourier rapide et son inverse)
?? fzero : zéros de fonctions
?? fmin, fmins : minimisation
?? quad, quad8, trapz : calcul d'intégrales
?? ode23, ode23p, ode45 : équations différentielles
?? diff, gradient, del2 : équations aux dérivées partielles
?? poly : construit un polynôme à partir de ses racines

Pour obtenir des tracés graphiques :


?? Graphiques 2d: plot, loglog (échelle logarithmique), polar (en polaire), title, xlabel,
ylabel, text, gtext (commentaires), image (création d'une image à partir d'une matrice).
?? Graphiques 3d: plot3d, contour (contours), mesh (maillage), surf (surface)
?? Divers : clf (efface), hold on (garde les graphiques), figure (créé d'autres fenêtres
graphiques), drawnow (force Matlab à afficher immédiatemment).
Boucles et tests
?? boucles : for, while, end, break
?? tests : if, elseif, else, end
?? dialogue avec utilisateur : input, keyboard, pause

Commentaires
?? une ligne de commentaires commence avec le symbole %

I.5. Fichiers MatLab :

I.5.1. Fichiers script


Un fichier script est une suite d'instructions MatLab (voir : help script). On peut le créer à l'aide
d'un éditeur de texte standard et le sauvegarder avec une extension ''.m'' (d’où le nom fichiers M
ou 'M-files'). what affiche la liste des fichiers ''.m'' déjà créés. On peut facilement obtenir le
listing d'un M-file en exécutant type file_name sur la ligne de commande MatLab.

Taper le nom d’un fichier sans son extension sur la ligne de commande MatLab résulte en
l'éxécution des instructions contenues dans le fichier.

Un M-file peut en appeler un autre ou s'appeler récursivement. Il est cependant plus courant
d'utiliser des fichiers fonctions.
Attention : il est impératif que les fichiers soient dans le répertoire de travail de MatLab.

I.5.2. Fichiers function


Les fichiers fonctions (voir : help function) permettent d'étendre les possibilités de MatLab. Ils
sont l'équivalent des Subroutine en langage Fortran, des fonctions C etc... Ces fonctions utilisent
des variables qui par défaut sont locales, mais peuvent être déclarées global.

La syntaxe est de la forme:


function [out1, out2, ...] = function_name(in1, in2, ...)
où out i désigne une variable de sortie, et ini désigne une variable d'entrée.

1.5.3. Fichiers de données


Il est possible à tout instant de sauvegarder une ou plusieurs variables dans un fichier spécifique
MatLab dont l'extension sera .mat : la commande à utiliser est save. Différents formats et options
sont utilisés.

Pour recharger un tel fichier on utilisera load fname. Chaque variable ayant été sauvegardée par
son nom, les variables rechargées auront mêmes noms, dimensions et valeurs qu’au moment de la
sauvegarde.

II. Guide sommaire d’utilisation

II.1. Entrée et traitement de matrices :


MatLab travaille essentiellement sur des matrices qui peuvent être réelles ou complexes. Ainsi,
un scalaire est une matrice 1×1 et un vecteur une matrice N×1.

Une matrice peut être définie sous forme d'une liste explicite, où les éléments d'une même ligne
sont séparés par un espace ou une virgule, les lignes sont elles-mêmes séparées par un point
virgule ou un retour chariot.:
1 2 3
A = [ 1 2 3; 4 5 6; 7 8 9] est la matrice A= 4 5 6
7 8 9

Une matrice à éléments complexes sera définie par A = [ 1 2; 3 4] +i*[5 6; 7 8], ou par A = [ 1+5i
2+6i; 3+7i 4+8i]. Les imaginaires purs i ou j peuvent être utilisés indifféremment. Attention : ne
pas insérer d'espace dans la définition d'un nombre complexe.

Chaque élément d'une matrice est accessible par ses indices strictement positifs entre parenthèses.
L'indexation des éléments d'un tableau commence toujours à 1 : ainsi, l'élément de la 3ème ligne et
4ème colonne d’une matrice A est A( 3,4) ; pour un vecteur X la 2ème composante est X( 2).

II.2. Lignes d'instructions :

MatLab utilise un langage interprété et non un langage compilé : chaque expression écrite est
interprétée et évaluée avant de passer à la suivante.

La syntaxe est généralement de la forme:


variable = expression(;) : expression évaluée et résultat assigné à la variable définie par variable
ou bien
expression(;) : expression est évaluée et résultat assigné à la variable interne ans
Le point virgule de terminaison de ligne indique si le résultat de l'évaluation devra être affiché à
l'écran (; présent) ou non (; absent).

Des lignes trop longues peuvent être continuées sur plusieurs lignes en utilisant comme indicateur
des points de suspension (…). Ainsi: x = [ 1 2 3 4] est équivalent à : x = [1 2 ... puis 3 4] sur la
ligne suivante

Il y a distinction entre majuscule et minuscule : ainsi, variable est différent de Variable.

L'exécution peut être arrêtée par l'utilisation de CTRL_C ou de CTRL_BREAK.

Pour visualiser l'état d'une session, la commande who ou whos renvoie la liste des variables
existantes ainsi que leur type (réel ou complexe) et leur taille.

Pour libérer de l'espace mémoire on peut éliminer une variable par clear nom_de_la_variable.

II.3. Opérations sur les Matrices :


Les opérations suivantes sont directement accessibles:
+ addition
- soustraction
? multiplication
^ élévation à la puissance
' transpose conjugué
\ division à gauche
/ division à droite
Dans chaque cas, les dimensions des matrices sont vérifiées et un message d'erreur est délivré au
cas où elles ne seraient pas compatibles.
Certaines opérations, telles *, et /, peuvent agir élément par élément si on les fait précéder d'un
point.

II.4. Exercices d’application :

II.4.1. Exercice 1 : Manipulation et opérations avec des matrices


a) Définir la matrice A = [1 2 3;4 5 6;7 8 9] et sa transposée B.
b) Définir la matrice C comme produit de A par B.
c) Définir D par: D = A.*B. Comparer C et D.
d) Définir les vecteurs x = [-1;0;2] et y = [62;61;1]. Comparer u = x ?*y et v = x*y?.
e) Définir le vecteur b par b = A*x. Que vaut le vecteur z = A\b?
f) Définir les vecteurs x = [1;2;3] et y = [4;5;6].
g) Que donnent z1 = x.*y, z2 = x.\y, z3 = x./y, z4 = x.^y, z5 = 2.^[x y]?

II.4.2. Exercice 2 : fabriquer 128 échantillons d'une sinusoïde


Pour générer 128 échantillons d'une sinusoïde de fréquence Freq, on peut procéder ainsi :
1. Donner une valeur à la fréquence de la sinusoïde : Freq = 1300 ;
2. Choisir une fréquence d'échantillonnage : Fe = 8000 ;
3. Créer le vecteur des temps : t = (0:127)/Fe ;
4. Enfin calculer les échantillons : x = sin(2*pi*t*F) ;
5. Regarder le résultat : plot(x) ou plot(t,x).
Notes :
?? Si vous oubliez le `;' à la fin de la ligne, les valeurs sont affichées à l'écran.
?? La commande (0:127) retourne le vecteur suivant : (0,1,2,...,126,127).
?? La commande (0:2:127) retourne (0,2,4,...,124,126).
?? 'sin' appliquée à un vecteur retourne un vecteur formé par les sinus des éléments.
?? plot(x) dessine les échantillons du vecteur x sur l'écran.

II.4.3. Remarques :
1. lorsqu'on additionne deux vecteurs, il faut faire attention qu'ils aient la même dimension, et en
particulier qu'ils soient tous les deux lignes, ou tous les deux colonnes.
2. n'oubliez pas le point `.' avant le `? ' ('? ' effectue la multiplication matricielle, alors que '.? '
effectue la multiplication terme à terme.
3. La commande y(p:q)crée un vecteur y formé des éléments d'indices compris entre m et n d’un
vecteur x.
4. Dans MatLab, les polynômes sont représentés par le vecteur de leurs coefficients par ordre de
puissance décroissante : par exemple, le polynôme x 3 + 4x 2 - 3x +5 est représenté par le vecteur :
[1 4 -3 5].
5. On peut calculer les racines d'un polynôme quelconque en utilisant la fonction roots.
R = roots([1 4 -3 5]) donne un vecteur contenant les racines du polynôme x 3 + 4x 2 - 3x +5.

II.5. Instructions de contrôle :

II.5.1. FOR
La syntaxe est de la forme:
for compteur = début : pas : fin, ou for Matrice
expression,
expression;
end

Exemple : La séquence suivante va créer un vecteur x de longueur n :


x = []; for k = 1:n, x = [x, 2*k], end
ou de manière équivalente:
x = [];
for k = 1:n,
x = [x, 2*k],
end

II.5.2. WHILE
La syntaxe est de la forme:
while relation
expression;
end
La boucle est répétée tant que la relation reste vraie.

II.5.3. IF
La syntaxe peut revêtir une des formes suivantes :
if relation if relation if relation
expression; expression; expression;
end else elseif relation
expression; expression;
end else
expression;
end

L'expression n'est exécutée que si la relation est vraie.

II.5.4. Relations
Les opérateurs de relation sont :
< inférieur à
> supérieur à
<= inférieur ou égal à
>= supérieur ou égal à
== égal à
~= différent de

Quand une relation intervient entre des scalaires, le résultat est un scalaire qui vaut 1 ou 0 suivant
que la relation soit vraie ou fausse. Quand une relation intervient entre deux matrices de même
dimension, le résultat est une matrice constituée de 1 et de 0 selon la relation entre les éléments
correspondants des matrices.

II.6. Les Fonctions :

II.6.1. Les fonctions scalaires


Bien qu’elles agissent principalement sur des scalaires, on peut aussi les faire agir sur des
matrices (dans ce cas elles agissent élément par élément). Ce sont par exemple : sin asin cos acos
tan atan exp log abs sqrt sign round etc...

Exercices :
1. Définir la matrice A = [1 2 3;4 5 6]. Vérifier les résultats de B = fix(pi*A) et C = cos(
pi*B) .
2. Définir le vecteur x = ( 0:0.2:3.0) ?, et entrer la séquence y = exp(-x);[ x y] .

II.6.2. Les fonctions vectorielles


Elles sont prévues pour opérer sur des vecteurs lignes ou colonnes. Ce sont, par exemple : max
min sum prod mean std any etc...
Comme pour les fonctions scalaires, on peut aussi les faire opérer sur des matrices : dans ce cas,
elles agissent sur chacune des colonnes de la matrice.

Exemple : A étant une matrice, max(A) renvoie un vecteur ligne dont chaque composante
correspond au maximum de chacune des colonnes de A, alors que max(max(A)) renvoie
l'élément maximum de A.

II.6.3. Les fonctions matricielles


Certaines fonctions de MatLab sont propres aux matrices. Ainsi : eig (vecteur propre, valeur
propre), chol (décomposition de Cholesky), svd (décomposition en valeurs singulières), lu
(factorisation LU), qr (factorisation QR), det (déterminant), rank (rang) etc...

Toutes ces fonctions peuvent renvoyer un ou plusieurs arguments : [X, V] = eig[A] renvoie une
matrice X dont les colonnes sont les vecteurs propres de A et une matrice diagonale V constituée
des valeurs propres de A. Alors que X = eig[A] renvoie un vecteur colonne X dont les
composantes sont les valeurs propres de A.

II.7. Notations et raccourcis :

II.7.1. Boucle implicite


MatLab étant un langage interprété l'utilisation de boucles ralentit considérablement son
exécution. La boucle implicite élimine en partie cet inconvénient : elle est exécutée
vectoriellement donc plus rapidement. Ainsi écrire n = 1:5, revient à créer le vecteur ligne n = [1
2 3 4 5]. On peut changer le pas d'incrémentation en écrivant n = 1:2:7, ce qui équivaut à n = [1 3
5 7]. Ceci s'étend aux nombres non entiers (x = .1:.01:1.) et le pas d'incrémentation peut être
négatif.

Exercice : Essayer la séquence suivante:


B(:,n) = ones(n,1);
for j = n-1:-1:1
B(:,j) = t.*B(:,j+1);
end

II.7.2. Utilisation du ':'


La notation ':' est très utile pour travailler sur des sous matrices :
?? A(1:3,4) est le vecteur colonne dont les composantes sont les trois premiers éléments de la
quatrième colonne de la matrice A.
?? A(:,2) est la deuxième colonne de la matrice A
?? A(1:3,:) est la matrice constituée des trois premières lignes de A
?? A(:,[3 6]) est la matrice à deux colonnes qui correspondent aux colonnes 3 et 6 de A.
?? A(:,[3 6]) = B(:,1:2) remplace les colonnes 3 et 6 de A par les deux premières colonnes de B.

II.7.3. Chaînes de caractères et messages


Les chaînes de caractères sont définies entre des 'quotes' simples : c = 'Ceci est un texte' définira
la variable c comme une chaîne de caractères qui pourra être utilisée pour afficher le message
entre les quotes. disp(c) affichera la chaîne c à l'écran.

La fonction error('Erreur dans la fonction func') affichera le texte et arrêtera l'exécution du


programme

Z = input('Entrez la valeur de Z: ') affichera le texte et attendra qu’une valeur de Z soit entrée au
clavier.

Exercices :
1. Définir la chaîne s = 'Bonjour';
2. Vérifier successivement: size(s) et abs(s).
3. Ajouter s = [s, 'à tous'].

II.7.4. Format d'affichage


Tous les calculs effectués dans MatLab sont en double précision. Cependant le format d'affichage
des résultats peut être contrôlé par la commande format :
format short 4 décimales (défaut)
format long 14 décimales
format short e 4 décimales notation scientifique
format long e 14 décimales notation scientifique
Un format reste actif tant qu'il n'a pas été redéfini par la commande format, à l'exception des
commandes qui servent à supprimer (format compact) et celles qui servent à restaurer (format
loose) les lignes blanches qui pourraient apparaître à l'affichage.

II.7.5. Copie d'écran texte


La commande diary file_name permet de sauvegarder dans le fichier file_name toute la partie
active de l'écran à l'exception des graphiques. La sauvegarde s'effectue sous forme de texte ce qui
permet une édition ultérieure du fichier.

II.8. Les graphiques :

MatLab peut afficher des courbes planes (plot), des courbes 3D (plot3), des surfaces maillées 3D
(mesh) ou des surfaces à facettes 3D (surf).

Toutes ces commandes ouvrent une fenêtre graphique pour tracer la courbe. Les fenêtres
graphiques sont numérotées, la fenêtre active étant par défaut la fenêtre 1. Pour rendre active une
fenêtre graphique on fera précéder le tracé par la commande figure(n), où n est le numéro de la
fenêtre. La commande graphique suivante effacera le premier tracé pour dessiner le nouveau dans
la même fenêtre si la commande figure n'a pas été utilisée entre temps.

Il est possible de tracer des graphiques en surimpression à l'aide de la commande hold on. Cette
commande a pour effet de conserver le graphe présent avant de tracer le suivant. La commande
hold off annule cette possibilité.

II.8.1. Courbes planes


plot(y) trace la courbe correspondant au vecteur y en fonction du numéro des composantes.
plot(x,y) tracera le vecteur y en fonction du vecteur x s’ils sont de même taille.
MatLab permet également de tracer directement à partir d'une fonction avec la commande fplot.

Exemple :
Soit la fonction sinus définie dans le fichier sinus.m par : function y = sinus(x)
y = sin(x);
En exécutant: fplot('sinus', [-pi pi]), on obtiendra le graphe.

On peut ajouter un titre, des légendes ou du texte à un graphe par les commandes :
?? title('Ceci est le titre de la figure');
?? xlabel('Légende des abscisses');
?? ylabel('Légende des ordonnées');
?? gtext et text positionnement et écriture dans la zone graphique.

Un graphe possède des attributs qu’on peut modifier avec des commandes telles que axis et plot.
Il est également possible de tracer plusieurs graphes dans la même fenêtre à l'aide de la
commande subplot (voir aide).
Enfin des représentations types sont obtenues à l'aide des commandes polar, bar, hist, etc...

Exercices :
x = -pi : .01 : pi; y = sin(x); plot(x,y) tracera la fonction sinus(x) dans l'intervalle [ -? ,? ] avec un
pas de 0.01. Rajouter titres et légendes à chaque figure.

II.8.2. Courbes 3D
La commande plot3 est identique à la commande plot, elle ne fait appel qu'à une coordonnée
supplémentaire. La syntaxe de base est plot3(x,y,z). Les axes, titres et légendes se traitent comme
dans le cas des courbes planes.

Exercice:
A l'aide de plot3, tracer la courbe (x=sin(t), y=cos(t), z=t) pour t = 0:pi/50:10*pi.

II.8.3. Maillages et surfaces 3D


La commande mesh permet de visualiser des courbes 3D sous forme de surfaces maillées. La
surface maillée est définie par les cotes (coordonnées z) de points situés au-dessus d'une grille
rectangulaire du plan (x,y).

La commande surf s'utilise de la même façon mais produit une surface à facettes colorées dont le
coloriage est modifiable avec la commande shading. L'angle de vue est géré par la commande
view. D'autres fonctions telles que meshz, surfc, surfl, contour et pcolor sont reliées à la
visualisation 3D.

II.8.4. Copie d'écran graphique


La commande print effectue la copie d'une fenêtre graphique dans un fichier (voir help print
pour les options).

III. Résumé des commandes MATLAB


On a regroupé par sujet d'intérêt les différentes commandes et fonctions de MatLab. Il en existe
bien d'autres regroupées dans des options spécialisées, les boîtes à outils (ou toolbox).

III.1. Commandes générales :

Gestions des commandes et des fonctions Gestion des variables et de l'espace de travail
help aide who affiche les variables courantes
what listing du nom des M_files présents whos affiche les variables en format long
type impression d'un M_file save sauve l'espace de travail sur disque
lookfor recherche d'une entrée dans le help load charge l'espace de travail
which localise les fonctions et fichiers clear efface la mémoire
demo lance la démonstration quit quitter MatLab (aussi exit)
diary sauvegarde le texte d'une session
MatLab
III.2. Opérateurs :

Opérateurs courants Opérations sur les Opérateurs Relationnels Opérateurs


+ addition Tableaux < inférieur à Logiques
- soustraction + addition > supérieur à & et
* multiplication - soustraction <= inférieur ou égal à | ou
^ puissance .* multiplication >= supérieur ou égal à ~ non
/ division à droite .^ puissance == égal à xor ou exclusif
\ division à gauche ./ division à droite ~= différent de
' transpose conjugué .\ division à gauche
.' transpose

( ) gère la priorité des opérations arithmétique ou ensère les arguments d'entrée des fonctions

III.4. Instructions :

Instruction de contrôle Instructions spécifiques


if test conditionnel input indicateur d'attente d'entrée
else complète if menu génère un menu de choix pour
elseif complète if l'utilisateur
end terminaison de if, for et while pause attente
for instruction de répétition avec compteur function définition de fonction
while instruction de répétition avec test global définit les variables comme globales
break interrompt une boucle for ou while Caractère spéciaux
return retour = assignation
error affiche un message et interrompt . point décimal
l'exécution ... indique une ligne suite
, séparateur d'arguments ou d'instructions
; fin de lignes (matrices) ou suppression
de l'affichage
% commentaires
: manipulation de sous matrices
génèration de vecteurs
III.3. Noms réservés :

Variables prédéfinies Matrices prédéfinies


ans nom donné à l’évaluation d’une zeros matice de 0
expression sans assignation ones matrice de 1
realmax plus grand nombre flottant eye matrice identité
realmin plus petit nombre flottant positif diag matrice diagonale
pi ? rand nombres aléatoires (répartition uniforme)
i, j [? (-1)] randn nombres aléatoires (répartition normale)
inf ? Fonctions trigonométriques
NaN Not a Number sin, asin, sinh, asinh
flops nombre d'opérations par seconde cos, acos, cosh, acosh
etime durée d'exécution tan, atan, tanh, atanh
size renvoie la taille d'une matrice cot, acot, coth, acoth
length renvoie la longueur d'un vcteur
disp affiche une matrice de texte
Fonctions mathématiques élémentaires Fonctions prédéfinies
abs valeur absolu ou module bessel fonction de Bessel
angle argument d'un complexe beta fonction beta
sqrt racine carrée gamma fonction gamma
real partie réelle rat approximation par un rationnel
imag partie imaginaire rats format de sortie pour rat
conj complexe conjugué erf fonction erreur erf
gcd PGCD erfinv inverse de erf
lcm PPCM ellipke intégrale elliptique complète
round arrondi à l'entier le plus proche ellipj fonction elliptique de Jacobi
fix troncature expint fonction intégrale exponentielle pour n=1
floor arrondi vers -? log2 logarithme base 2 ou décomposition
ceil arrondi vers +? mantisse, exposant
sign signe de pow2 calcule 2 puissance y
rem reste de la division fft FFT de dimension 1 (fréquences de 0 à 1)
exp exponentiel fft2 FFT bidimensionnelle
log log népérien ifft FFT inverse de dimension 1
log10 log décimal ifft2 FFT inverse bidimensionnelle
III.5. Matrices :

Décompositions et factorisations de Matrices Fonctions de Matrices


inv inversion expm exponentiation (fonction interne)
lu décomposition LU expm1 M_file correspondant à expm
chol factorisation de Cholesky expm2 expm par série de taylor
qr décomposition QR expm3 expm par valeurs et vecteurs propres
nnls moindres carrés non-négatif logm logarithme
orth orthogonalisation sqrtm racine carrée
eig valeurs et vecteurs propres funm ex: funm(A,'sin') donne sin(A)
cdf2rdf forme complexe diagonale vers poly polynôme caractéristique
forme réelle diagonale par blocs det déterminant
rsf2csf forme réelle diagonale par blocs vers trace trace
forme complexe diagonale Conditionnement
balance mise à l'échelle pour le calcul des cond suivant norme L2 ( [(? max)/( ? min )])
valeurs propres rcond ? 1 bon , ? 0. mauvais
qz valeurs propres généralisées norm normes L1 ,L2 ,Lp et L?
polyeig polynôme aux valeurs propres rank rang
svd décomposition en valeurs singulières

[ ] définition de matrices ou vecteurs; ou ensère les arguments de sortie des fonctions

III.6. Calcul et analyse :

Polynômes Equations non linéaires et Optimisation


poly construit un polynôme à partir des fmin minimisation d'une fonction d'une
racines variable
roots calcul des racines fmins minimisation d'une fonction de
polyval évaluation en un point plusieurs variables
polyvalm évaluation en une matrice de points fsolve résolution d'un système d'équations
conv multiplication non-linéaires
deconv division fzero zéro d'une fonction d'une variable
residue décomposition en éléments simples Analyse de données par colonne
et residus max valeur max
polyfit polynôme d'approximation min valeur min
polyder différentiation mean valeur moyenne
Différences finies et Interpolation median valeur médiane
diff approximation de la dérivée std écart type
gradient approximation du gradient sort tri en ordre croissant
Intégration numérique sum somme des éléments
quad intégrale de Simpson prod produit des éléments
quad8 intégrale de Newton-Cotes hist histogramme
trapz méthode des trapèzes
III.7. Graphiques :

Graphiques 2D Annotation de graphiques Graphiques 3D


plot graphe linéaire title titre du graphique mesh surface maillée
loglog graphe log-log xlabel légende abscisse surf surface 3D à
semilogx graphe semi-log (x) ylabel légende ordonnée facettes
semilogy graphe semi-log (y) zlabel légende cote plot3 dessin de lignes et
polar graphe (coord. grid dessin d'une grille points en 3D
polaires) text texte contour dessin 2D des équi
bar histogramme bâtons Contrôle des fenêtres -niveaux
stairs fonction en marches graphiques contour3 dessin 3D des équi
d'escalier figure ouvre une fenêtre -niveaux
errorbar graphe avec barres graphique clabel étiquettes des équi
d'erreur hold gère la -niveaux
hist histogramme surimpression pcolor dessine en
compass représentation polaire ishold état de la pseudocouleur
(module,argument) surimpression Apparence des graphiques
feather représentation linéaire subplot sous-fenêtres view spécifie l'angle de
(module, argument) graphique vue
fplot graphe d'une fonction axis contrôle de viewmtx matrice de
Sauvegarde et copie graphique l'apparence et de transformation
print imprime ou sauvegarde l'échelle des axes hidden gère les lignes
dans un fichier cachées

Vous aimerez peut-être aussi