Académique Documents
Professionnel Documents
Culture Documents
TP N° 1 : INITIATION A MATLAB
Caractéristiques :
1. Aspects élémentaires
1.1. Aides
En mode commande, MATLAB affiche des chevrons >> et attend une commande :
>> 1+3
>> 3^3
>> 2*sin (pi/4)
Le dernier résultat est stocké dans la variable ans qu’il est possible de réutiliser :
>> ans^2
>> ans-2
Les commandes introduites antérieurement peuvent être rappelées par l’utilisation des flèches
haut et bas. Analyser des autres flèches et des touches end, esc, del, backspace ou des
combinaisons de touches.
1
Année Universitaire : 2022- 2023
Enseignante : Ines KETATA
>> var=2
>> autre=3 ;
>> who
>> whos
>> clear autre
>> who
>> clear
>> clc
>> clear all
Opérations élémentaires : + - * / or \ ^
>> 4/2
>> 4\2
1.5. Affichage
Exemples
>> pi
Si on rentre des commandes erronées, Matlab nous l’indique par un message d’erreur.
>> 5*
??? 5*
Error : Expected a variable, function, or constant, found « end of line ».
2
Année Universitaire : 2022- 2023
Enseignante : Ines KETATA
>> aaa
??? Undefined function or variable ‘aaa’.
1.7. Entrées-sorties
Une chaine de caractères est un vecteur-ligne donc chaque élément est un caractère, une
chaine est délimitée par des quotes simples (') et peut contenir des espaces et autres caractères
spéciaux.
Exemple :
>> s = 'Bonjour a tous'
>> s3 = [s s2]
Remarque : la manière de concaténer deux chaines l'une à la suite de l'autre en utilisant les
crochets est la même que pour les vecteurs-ligne. On peut utiliser aussi la virgule au lieu de
l’espace.
>> str=[‘ali’] ;
>> str1=[‘ben amar’]
>> str2=[str,’ ’,str1]
La commande eval permet d'évaluer une chaîne de caractères comme une commande Matlab.
La command eval s'utilise ainsi :
Exemple :
>> str=[‘a=b’]
>> b=5 ;
>> eval (str);
>> x(1)=2;
>> str=['x_1=x(1)']
>> eval(str)
3
Année Universitaire : 2022- 2023
Enseignante : Ines KETATA
str =
x_1=x(1)
Exemple :
>> comd='s1=sin(1)'
>> comd = s1=sin(1)
>> eval(comd)
s1 = 0.8415
ou
2. Vecteurs et matrices
Cette partie doit être bien maîtrisée pour les TP de Traitement du Signal.
2.1. Vecteurs
a)Création de vecteurs
4
Année Universitaire : 2022- 2023
Enseignante : Ines KETATA
b) Transposition
L’opérateur apostrophe utilisée pour créer un vecteur colonne est en fait l’opérateur
transposition :
>> tab=a’
c) Combinaison de vecteurs
>> b = [1:3]
>> c= [10 :10 :30]
>> d= [b c]
00000000
>> t = [0 3 6 9 12 15 18]
t1 = t(2:5)
ou bien tous les éléments d'un indice donnés à la fin du vecteur :
t2 = t(4:end) % end signifie dans ce cas le dernier indice du tableau
d) Opérations scalaires
>> a= [4 5 3]
>> s= sum(a)
>> p= prod(a)
>> m= mean(a)
>> r= sqrt(a)
>> f= [0 -1 3]
>> som= a+f
2.2. Matrices
a)Création de matrices
Une matrice est un ensemble de lignes comportant toutes le même nombre de colonnes.
Matlab, depuis la version 5, supporte les matrices à n dimensions (n>2).
>> x1= [1 2 3 ; 4 5 6 ; 7 8 9]
5
Année Universitaire : 2022- 2023
Enseignante : Ines KETATA
>> A= x1(2,3)
>> A1=x1(:,2)
>> A2=x1(2,:)
b) Opérations matricielles
Sommations
>> y1= [0 0 1 ; 3 3 4 ; 1 1 0]
>> P= x1+y1
>> R= y1+x1
Soustractions
>> Y= y1-x1
Multiplications
>> x1
>> z1= [1 :1 :3 ; 11 :1 :13]
>> x1*z1
??? Error using = => *
Inner matrix dimensions must agree.
>> D= x1*z1’
6
Année Universitaire : 2022- 2023
Enseignante : Ines KETATA
Cl. L’opération x1*z1’ est la multiplication matricielle des matrices x1 et z1’ de dimensions
respectives M.N et N.P, tandis que x1.*y1 est la multiplication élément par élément de 2
matrices de dimensions identiques.
>> G= x1^2
>> J= x1.^2
Divisions
>> z1
>> z2= [4 5 6 ; 14 15 16]
>> z1/z2
>> z1\z2
>> X= A\B % donne la solution de A*X=B
>> X= B/A % donne la solution de X*A=B
d) Matrices particulières
>> U= zeros(2,5)
>> M= eye(4)
>> M1= eye(2,4)
>> x1
>> [m,n]= size(x1)
>> length(x1)
>> A1= [1 2 3 ; 4 5 6 ; 7 8 9]
7
Année Universitaire : 2022- 2023
Enseignante : Ines KETATA
>> A3= [1 2 3 ; 4 5 6 ; 7 8 9]
>> flipud(A3) % flip up-down
>> fliplr(A3) % flip left-right
>> tril(A3) % obtenir la partie triangulaire inférieure (l pour lower) d’une matrice
>> triu(A3) % obtenir la partie triangulaire supérieure (u pour upper) d’une matrice.
3. Affichage graphique
Etant donné deux vecteurs de même taille, x et y, la fonction plot(x, y) trace le graphe de y en
fonction de x : y= f(x).
>> hold on
>> x ;
>> y1= cos(x) ;
>> plot (x, y1)
8
Année Universitaire : 2022- 2023
Enseignante : Ines KETATA
Graphique 3D :
>> t= -3*pi : pi/10 : 3*pi ;
>> x= 4*sin(t) ; y= cos(t) ; z= 2*t ;
>> plot3(x, y, z)
>> title( ‘hélice circulaire’)
>> xlabel (‘x’), ylabel (‘y’), zlabel (‘z’),
>> grid
a= [0 -1 4 -6 9 -7]
b= []
c= []
for i=1 : length(a),
if a(i) <0
b= [b a(i)] ;
else
c= [c a(i)] ;
end ;
end ;
b) Fonctions avec variables d’entrée/sortie
Ex. fonction fact avec paramètre n en entrée, définie dans le fichier fact.m :
function f= fact(n)
n=4 ;
f=1 ;
for i=1 : n
f= f*i ;
end ;
end ;
9
Année Universitaire : 2022- 2023
Enseignante : Ines KETATA
Toutes les variables définies dans la fonction sont locales à cette fonction. Ce n’est pas le cas
des fichiers qui ne débutent pas par function.
Une fonction peut retourner plusieurs résultats :
function [x, y]= calcul (a, b)
x= a+b ;
y= a*b ;
10