Académique Documents
Professionnel Documents
Culture Documents
Cours Mat Lab
Cours Mat Lab
Introduction Matlab
Introduction ______________________________________________________________ 3
2.
3.
4.
5.
MASTER OIV
Emmanuel Marin - F 155
emmanuel.marin@univ-st-etienne.fr
6.
Introduction Matlab
7.
Aide _____________________________________________________________________ 7
8.
Sauvegarde et chargement___________________________________________________ 8
9.
10.
11.
11-1.
11-2.
11-3.
Oprateurs relationnels__________________________________________________________10
Oprateurs logiques ____________________________________________________________10
Oprateurs Scalaires____________________________________________________________11
12.
13.
14.
14-1.
14-2.
15.
15-1.
15-2.
15-3.
16.
16-1.
16-2.
16-3.
16-4.
17.
18.
19.
19-1.
19-2.
20.
21.
Master OIV - 2
1.
Introduction Matlab
Introduction
2.
Dmarrer et quitter
MATLAB
Introduction Matlab
3.
Matrices et MATLAB
MATLAB signifie Matrix Laboratory et il traite des donnes sous des forme trs
diverses (scalaires, complexes, vecteurs, matrices) avec bien souvent les mmes
oprateurs et des fonctions dsignes par le mme nom (polymorphisme).
La mme expression c=a*b, par exemple, dpend donc entirement des types de
a et b.
1 2 3 4
La variable A tant une matrice, nous pouvons la rentrer par :
0 1 2 3
(entre)
>> A=[1 2 3 4 5 ; 0 1 2 3 9 ; 2 1 4 5 3 ; 8 7 6 5 4]
A=
2 1 4 5
A=
8 7 6 5
1 2 3 4 5
0 1 2 3 9
2 1 4 5 3
8 7 6 5 4
A est une variable mmorise utilisable par la suite. Elle saffiche lcran.
Lespace spare les lments dune mme ligne. Le ; spare les lignes.
Autre faon dentrer une matrice :
B=
>> B=[1 2 3
4 5 6] ;
Le ; la fin de cette expression vite laffichage de B.
La transpose de B est B
>> C=B
C=
5
9
3
1 2 3
4 5 6
Master OIV - 4
1
2
3
Introduction Matlab
4
5
6
i :j :k
i<k, donne [ ] ; i,
i,
j,
qcq.
linspace(a, b)
Vecteur de 100 valeurs rgulirement espaces sur [a, b].
linspace(a, b, n) Vecteur de n lments. Le pas exact est dduit de n.
4.
Introduction Matlab
inf
NaN
i, j
Variables prdfinies
Master OIV - 5
who
Liste nominative
whos
Liste complte par des donnes supplmentaires (taille...)
Effacement des variables :
clear
Efface lensemble (voir la sauvegarde des variables)
clear A B
Efface A et B seulement.
5.
Oprateurs arithmtiques
^ : Puissance
* : Multiplication
+ : Addition
- : Soustraction
Les parenthses changent lordre des priorits.
Lapostrophe dans M donne la conjugue transpose. Par contre M. donne la
transpose.
6.
Fonctions mathmatiques
abs(x)
sign(x)
sqrt(x)
pow2(x, f)
|x|
1, -1 ou 0
x*2f
exp(x)
log(x)
log10(x)
log2(x)
ex
base e
base 10
base 2
Master OIV - 6
sin(x)
cos(x)
tan(x)
x en rad
cot(x)
sec(x)
1/cos(x)
Fonctions
hyperboliques
sinh(x) ...
Fonctions
hyperboliques
inverses asinh(x) ...
Introduction Matlab
asin(x)
acos(x)
atan(x)
atan2(x,y)
acot(x)
arc en rad
ceil(x)
gcd(x, y)
lcm(x, y)
rat(x)
round(x)
fix(x)
floor(x)
atan(x/y), [-, +]
8.
Sauvegarde et chargement
load
Lecture d'un fichier binaire
load fichier
load fichier.dat v1 v2
Lecture dun fichier de donnes :
supposons que A.dat contienne la matrice
1 4 5
4 2 9
conj(z) z
angle(z)
Exemple :
z=1+2i ;
x=real(z), y=imag(z), r=abs(z), zc=conj(z), th=angle(z) ;
m=[x y r zc th] '
% Le ' donne un vecteur colonne. Prciser !
cartsiennes polaires
[th, r]=cart2pol(x, y)
polaires cartsiennes
[x, y]=pol2cart(th, r)
cartsiennes sphriques
[al, th, r]=catr2sph(x, y, z)
sphriques cartsiennes
[x, y, z]=sph2cart(al, th, r)
7.
Introduction Matlab
save
Sauvegarde les variables dans le fichier binaire
save fichier
"
fichier.mat
save fichier.dat v1 v2 ascii Sauvegarde les variables au format ascii
Aide
Master OIV - 7
Exemple :
Sauvegarde dans un fichier texte de la matrice M. Les valeurs de M sont
spares par le dlimiteur.
dlmwrite ('NomDufichier','Delimiteur',M)
M=dlmread('NomDufichier','Delimiteur')
Master OIV - 8
9.
Introduction Matlab
Commandes systme
dot(x, y)
dot(A, B)
longueur n.
cross(x, y)
cross(A, B)
kron(A, B)
Produit tensoriel de A et B
Master OIV - 9
Introduction Matlab
&
|
~
xor
et
ou
not
ou exclusif
xor(A, B)
Introduction Matlab
diag(x)
diag(A, k)
disp(A)
diag(A)
diag(x, k)
5 1 0 0 0
1 5 1 0 0
A = 0 1 5 1 0
0 0 1 5 1
0 0 0 1 5
x+y
x.*y
x'*y
x^2
x.^2
x\y
x.\y
x/y
x./y
x.^2
(x*y')^2
ones(n)
ones(m, n)
zeros(n)
zeros(m, n)
eye(n)
eye(m, n)
Introduction Matlab
input(str)
input(str, s)
Master OIV - 12
Introduction Matlab
Exemples :
n=input(Donner un nombre : )
Donner un nombre : 5.123
A=input(Entrer
ligne : ) ;
une matrice
ligne par
4 7 8]
n=
5.1230
max(A, B)
diff(A)
diff(x, k)
Introduction Matlab
14-2. Statistiques
mean(x)
Valeur moyenne arithmtique
median(x)
Valeur mdiane
std(x)
Ecart type
Voir aussi : mean(A), median(A), std(A)
[L, U]=lu(A)
chol(A)
Factorisation de Cholesky
rref(A)
Master OIV - 14
Introduction Matlab
La commande de base est plot. Elle peut comporter des arguments de types
diffrents, pour les coordonnes, complts par des spcifications de styles et
de couleur, rassembles dans une chane de caractres.
plot(x1, y1, ...)
plot(y)
plot(z)
plot(A)
plot(x, A)
plot(x1, y1 , str1, ...)
Type point
.
*
x
o
+
dot
star
lettre x
lettre o
plus
Trait continu
Trait pointill
Trait mixte
Ligne pointe
Couleur
y yellow
g green
m magenta
b blue
c cyan
w white
r red
k black
plot(log10(x), y)
plot(x, log10(y))
plot(log10(x), log10(y))
Introduction Matlab
Master OIV - 15
Introduction Matlab
Introduction Matlab
else
end
poly(x)
expression logique
instructions
expression logique
instructions 1
instructions 2
instructions
otherwise
instructions
trapz(x, y)
Master OIV - 17
end
instructions
19-2. Boucles
Deux commandes sont utilises pour rpter lexcution dinstructions : for et
while.
instructions
instructions
Master OIV - 18
Introduction Matlab
function y=lnesin(x)
% lnesin : calcule lexpression exp(-x^2)+sin((x^2)/5)
% parametre dentre x : scalaire ou vecteur
% argument de sortie y de mme type
y= exp(-x.^2)+sin(0.2*x.^2) ;
end ;
% calcod.m : Matrice
cal=[0.1 0.2 0.5 1 2 5 10 20 50 100
1 3 7 15 31 65 127 255 511 1023] ;
x=linspace(0, 3*pi) ;
%
y1=sin(2*x) ;
%
y2=sin(x.^2) ;
%
y3=(sin(x)).^2 ;
%
plot(x, y1, x, y2, x, y3) ;
%
Lancer lexcution en crivant :
>> sin123
Introduction Matlab
>> calcod(2, :)
>> calcod( :)
>> size(calcod)
>> length(calcod)
Vecteur x
Vecteur y1 avec le sinus de 2x
Vecteur y2 avec le sinus de x^2
Vecteur y3
Trois courbes sur le mme axe.
Analyse dune fonction appele fonc avec les commandes fplot, fzero, fmin
Soit y=f(x)= (x 1)e x 5 sin(3x 3 ) pour x compris entre -1,5 et 1,5, bornes
comprises.
Fichier fonc.m :
function y=fonc(x)
Master OIV - 20
Introduction Matlab
Fichier foppo.m :
function y=foppo(x)
% foppo.m donne la fonction oppose de la fonction prcdente
y=-fonc(x) ;
Fichier ana.m :
% ana.m permet d'analyser une fonction avec fplot, fzero, fmin (pages 13 et 15)
fplot('fonc', [-1.5 1.5]);
% Racine de la fonction au voisinage de 1.2
r1=fzero('fonc', 1.2);
% Position du minimum de la fonction pour x compris entre 0.5 et 1
p1=fmin('fonc', 0.5, 1);
m1=fonc(p1);
disp('Position du minimum entre 0.5 et 1');
[p1 m1]
% Position du maximum de la fonction pour x compris entre -1 et -0.5
p2=fmin('foppo', -1, -0.5);
M2=fonc(p2);
disp('Position du maximum entre -1 et -0.5');
[p2 M2]
Master OIV - 21