MATLAB
Présentation générale et
syntaxe des instructions de
base
INSTRUCTION DE BASE
1
variable temporaire choisie
>>8/10 «Entrée» par Matlab
ans =
0.8000 4 décimales par omission
>>r = 8/10 «Entrée»
r =
variable choisie par
0.8000
l’utilisateur
>>r «Entrée»
r =
0.8000 r conserve la dernière valeur
calculée
valeur de r retenue
>>s=10*r «Entrée»
s = fonction dans Matlab
8
>>v=sin(s) «Entrée»
v =
; ne pas imprimer la
0.9894
réponse
>>u=[0:.1:10]; «Entrée»
>>z=sin(u);
>>u(7) «Entrée» faire varier u de 0 à
10 par saut de 0.1
ans =
0.6000
u est une variable indicée
dont on veut la 7ième
valeur
4
2
>>x=[0:.01:10];
>>y=sin(2*x);
>>plot(x,y),xlabel(‘x’),ylabel(‘sin(2x)’)
0.8
0.6
0.4
0.2
sin(2x)
-0.2
-0.4
-0.6
-0.8
-1
0 1 2 3 4 5 6 7 8 9 10
x
5
Opérations de base
Vecteurs
Matrices
3
Opérateurs arithmétiques :
Symbole Opération Forme Matlab
^ exponentiation : ab a^b
* multiplication : ab a*b
/ div. vers la droite : a/b a/b
\ div. vers la gauche : a/b b\a
+ addition : a + b a+b
- soustraction : a – b a-b
Variables spéciales :
ans variable temporaire contenant la réponse
la plus récente
eps spécifie la précision d’un nombre en point
flottant
i, j le nombre imaginaire (-1)1/2
Inf l’infini
NaN indique un résultat numérique non défini
pi le nombre p
4
Commandes pour la gestion d’une session :
clc nettoie la fenêtre dite Command
clear enlève les variables de la mémoire
exist (‘nom’) détermine si un fichier existant ou
une variable a le nom ‘nom’
help nom recherche en ligne pour le sujet nom
lookfor nom recherche l’aide pour le mot-clé nom
quit arrête Matlab
who énumère les variables courantes en
mémoire
whos énumère les variables actuelles et
leur dimension
9
Création de vecteurs et de matrices
Vecteurs :
>>r = [2,4,10] «Entrée»
r =
Crochets carrés
2.0000 4.0000 10.0000
>>s = [2 4 10] «Entrée»
s =
2.0000 4.0000 10.0000 Séparateurs
vecteurs lignes
10
5
Vecteurs colonnes Vecteurs (suite)
>>g = [3;7;9] «Entrée»
g =
3
7 Séparateur pour les
9 lignes
ou
>>g = [3,7,9]´ «Entrée»
g =
3 Transposée
7
9
11
Création d’une matrice :
>>A = [2,4,10;16,3,7] «Entrée»
A =
2 4 10 Séparateurs
16 3 7
>>a = [1,3,5]; «Entrée»
>>b = [7,9,11]; «Entrée»
vecteur
>>c = [a b] «Entrée»
c
=
2 vecteurs séparés par ,
1 3 5 7 9 11
ou un espace
>>D = [a;b] «Entrée»
D =
1 3 5 2vecteurs lignes avec
7 9 11 séparateur de lignes
12
6
Transposée d’une matrice :
Matrice transposée : matrice dont on remplace les
lignes par les colonnes
é -2 6 ù é -2 -3 ù
A =ê ú AT = ê ú
ë -3 5 û ë 6 5 û
apostrophe
>>A= [-2,6;-3,5]’
A =
-2 -3
6 5
13
Jeu des indices :
v(:) tous les éléments du vecteur v
v(2:5) du 2e au 5e élément
A(:, 3) tous les éléments de la 3e colonne
A(:,2:5) tous les éléments de la 2e à la 5e colonne
A(2:3,1:3) tous les éléments dans la 2e et 3e ligne et qui
sont aussi dans la 1ère à la 3e colonne
A( [1 4] ) = [ ] élimine les colonnes 1 et 4
>>A= [6, 9, 4; 1, 5, 7];
>>A(1,5) = 3 «Entrée»
agrandissement
A=
6 9 4 0 3 remplissage avec
des 0
1 5 7 0 0 14
7
Commandes pour les vecteurs et matrices :
find(x) Fournir une variable indicée contenant les indices
des éléments non nuls de x
[u, v, w] = find (A) Fournir des variables indicées contenant
les indices des lignes et colonnes des éléments
non nuls de la matrice A
length(A) Fournir le nombre d’éléments de A si A est un vecteur
ou la valeur max de m ou n si A est une matrice m x n
max(A) Fournir l’élément ayant la valeur algébrique max
si A est un vecteur ou un vecteur contenant l’élément max
dans chaque colonne de la matrice A
[x, k] = max(A) Même définition que max(A) sauf que le stockage des
valeurs max s’effectue dans le vecteur ligne
X et leurs indices dans le vecteur ligne k
... suite à la diapositive suivante
15
Commandes pour les vecteurs et matrices :
(... suite)
min(A) Même signification sauf qu’il s’agit des valeurs
[x, k] = min(A) min
size(A) Fournir un vecteur ligne contenant les dimensions
m x n de la variable indicée A
sort(A) Classer chaque colonne de la variable indicée A par
ordre croissant des grandeurs et fournir une variable
indicée ayant les mêmes dimensions que A
sum(A) Effectuer la somme des éléments de chaque colonne
de A et fournir le résultat dans un vecteur ligne
(Fin)
16
8
Opérations élément par élément :
Définitions à l’aide d’un exemple :
>>A = [6 , 3];
>>B = [4 , 8];
>>c = 2;
addition d’un scalaire
>>d = 5
>>A +c
ans
8 5 soustraction d’un scalaire
>>A –d
ans
1 -2
(... suite à la diapositive suivante)
17
(... suite)
>>A +B addition matricielle
ans
10 11
>>A –B soustraction matricielle
ans
2 -5
>>A .* B
ans
multiplication élément par élément
24 24
>>A ./ B
ans
division par la droite
6/4 3/8
(... suite à la diapositive suivante)
18
9
(... suite)
>>A
.\ B
ans division par la gauche
0.6667 2.6667
>>A .^ c
ans
36 9
exponentiation
(Fin)
19
Opérations matricielles (multiplication) :
Posons que
A: matrice m x p
B : matrice p x n
Produit matriciel C = AB C = matrice m x n
IMPORTANT :
Nombre de colonnes de A = nombre de lignes de B
(... suite à la diapositive suivante)
20
10
(... suite)
Multiplication de 2 vecteurs :
>>u = [1, 2];
>>v = [-2, -1];
>>w = u * v’ 1 x n par n x 1
w =
-4 vecteur colonne
vecteur ligne
scalaire produit scalaire
ou produit intérieur
(... suite à la diapositive suivante)
21
(... suite)
>>y = u’ * v produit extérieur
y
-2 -1 vecteur ligne 1 x n
-4 -2
vecteur colonne n x 1
matrice nxn
(Fin)
22
11
Création de matrices spéciales :
Commande Description
eye(n) Créer une matrice identité I n x n
eye(size(A)) Créer une matrice I de même dimension que A
ones(n) Créer une matrice n x n remplie de 1
ones(m,n) Créer une matrice m x n remplie de 1
ones(size(A)) Créer une matrice remplie de 1 et de
même dimension que A
zeros(n) Créer une matrice n x n remplie de 0
zeros(m,n) Même signification qu’avec ones(m,n)
zeros(size(A))et ones(size(A)) sauf 1 remplacé par 0
23
12