You are on page 1of 38

Aide au Matlab

Mr : M. KIOUS

Premire partie
Initiation au logiciel
" Matlab "
Le logiciel Matlab est ouvert dans la fentre de commande Matlab Mcw ( Matlab command window).
1. LAIDE EN LIGNE.
On obtient les informations sur une fonction (contenue dans Matlab ou dans un des toolbox) en tapant
help suivi du nom de cette fonction.
On peut aussi utiliser un mot cl avec la fonction lookfor, le mot cl ntant pas ncessairement le nom
dune fonction de Matlab.
exemples : help diag, help clear, lookfor complex...
2. TABLEAUX ET MATRICES.
2.1 Dfinir une matrice.
A = [1 2 3 4] dfinit la matrice ligne comportant les 4 lments 1, 2, 3 et 4.
A = [1,2,3,4] donne le mme rsultat.
C = [a b c] dfinit la matrice ligne comportant les caractres a, b et c.
B = [1;2;3;4] dfinit la matrice colonne comportant les mmes valeurs que A. Si on remarque que B est la
transpose de A, on peut aussi crire B = A' l'apostrophe droite signifiant la transposition.
C = [1 2 3;4 5 6;7 8 9] dfinit la matrice carre 3x3, dont la premire ligne est 1 2 3, la seconde ligne 4 5
6, etc... On obtient sa transpose en crivant C'.
C(i,:) est sa ime ligne et C(:,j) est sa jme colonne.
x= 0:0.5:10 dfinit un vecteur ligne en partant du premier lment 0 et en incrmentant de 0.5 en 0.5
jusquau dernier lment 10. x' est alors un vecteur colonne.
linspace(1re valeur , dernire valeur , nb dlments) permet dobtenir le mme rsultat en crivant
linspace(0, 10, 21).
Lutilisation de logspace( ) permet davoir un espacement logarithmique des valeurs.
Matlab permet de crer des matrices particulires. Voir zeros, ones, rand, eye.
2.2 Addition et multiplication matricielles.
On peut additionner ou multiplier des matrices de mme type comme on le ferait avec des nombres.
B = C*D multiplie C par D, et le rsultat est videmment diffrent de D*C.
B = C+D additionne les deux matrices.
Le rsultat du produit A*B (ligne*colonne) est un scalaire, alors que le produit B*A (colonne*ligne)
donne une matrice.
2.3 Inversion d'une matrice.
Soit la matrice carre A dont on veut calculer l'inverse Ai.
A = [10 10 0; 0 10 10; 10 19.9 10]
Ai = inv(A) calcule Ai, inverse de A si celle-ci n'est pas singulire.
On le vrifiera en calculant D = A*Ai qui donne la matrice unit.
Si le dterminant det(A) est nul (matrice singulire), Matlab envoie un message d'erreur.
Remplacer dans A ci-dessus 19.9 par 20 et essayer de calculer l'inverse.
Il est vident que A est singulire dans ce cas, pourquoi?

Aide au Matlab

Mr : M. KIOUS

X = A\B calcule X = A-1.B, solution de AX=B.


X = A/B calcule A.B-1.
2.4 Oprations lment par lment.
Il est possible de faire le produit de deux tableaux a et b lment par lment, cest dire dobtenir le
tableau c tel que c(i) = a(i) * b(i) en crivant c = a .* b
y = a.^n donnera y qui contiendra les lments de a la puissance n.
Pour la division lmentaire, essayer a./b et a.\b.
Pour la somme, quelles sont vos conclusions?
2.5 Fonctions utiles pour la manipulation des matrices.
Utiliser help pour voir size, length, poly, rank.
3. PROGRAMMATION ET M-FILE FUNCTIONS.
Matlab est aussi un langage de programmation qui dispose de structures de boucles for ou while ainsi que
de la structure if elseif else end. Un exemple est donn ci-dessous pour chaque cas.
Noter que le point-virgule permet de grer l'affichage ou le non affichage des valeurs manipules.
3.1 Boucles for.
for i=1:2:10
x(i)=i*i
end
3.2 Boucles while.
i=0;x=1;
while(1+x)>1
x=x/2;
i=i+1;
end
i
x=2*x
x-eps
Essayez de comprendre ce que reprsente eps.
3.3 Structure if else end.
x=1;
for i= 1:1000 x=x/2;
if (1+x)<=1 x=2*x
break
end
end
i
x-eps
Conclusion?
3.4 Les fonctions.

Aide au Matlab

Mr : M. KIOUS

Matlab fournit de nombreuses fonctions et permet lutilisateur dcrire les fonctions spcifiques dont il a
besoin, condition de respecter la syntaxe. Par exemple la fonction truc(t,a) contenue dans le fichier
truc.m ci-dessous
function y = truc(t,a); %function doit toujours tre crit en premire ligne
y = 2*t.^2 + a;
est utilise par le programme xf.m ci-dessous.
t = linspace(0,10,6);
a = 1.5;
z = feval(truc,t,a);
plot(t,z,'r');pause;plot(t,z,'y+');pause;plot(t,z,'r',t,z,'b+');
Certaines fonctions de Matlab ne sont pas prvues pour le passage de paramtres. On utilise dans ce cas
une variable globale. Voir global.
4. ANALYSE DE DONNEES.
Les donnes seront par convention stockes sous forme de matrice colonne.
max(x) renvoie le maximum de chaque colonne du tableau x.
min(x) renvoie le minimum de chaque colonne du tableau x.
mean(x) donne la valeur moyenne de chaque colonne du tableau x.
Voir aussi hist, sort....
5. LES POLYNOMES.
Matlab reprsente un polynme comme un vecteur ligne qui contient les coefficients des termes rangs
selon les puissances dcroissantes.
p = [ 1 -12 0 5 0] reprsente x4 -12x3 + 5x.
5.1 Racines dun polynme.
r=roots(p) fournit les racines du polynme donn ci-dessus.
p=poly(r) est l'opration inverse qui redonne les coefficients rangs selon les puissances dcroissantes.
5.2 Addition.
On additionne les polynmes a et b en crivant d = a+b sils sont de mme degr. Sinon il faut complter
celui qui a le degr le plus faible avec des zros.
5.3 Multiplication.
La fonction conv(a,b) ralise le produit des polynmes a et b. On renvoie le rsultat dans c en crivant c =
conv(a,b). Ce produit est obtenu par convolution des vecteurs a et b.
5.4 Division.
La fonction deconv( ) permet la division.
[q,r] = deconv(c,b) divise c par b. q est le quotient et r le reste.
5.5 Drivation.

Aide au Matlab

Mr : M. KIOUS

La fonction polyder( ) fournit la drive dun polynme.


h = polyder(g) donne h drive de g.
5.6 Evaluation.
La valeur prise par le polynme pour une valeur de la variable est fournie par la fonction polyval( )
exemple : x = linspace(-1,3,5);
p = [1 4 -7 -10];
v=polyval(p,x), pause, plot(x,v)
Que fait ce programme?
6. ANALYSE NUMERIQUE.
Il nest pas toujours possible de dterminer analytiquement les extrma dune fonction, de lintgrer ou de
la driver, etc...Matlab propose un certain nombre de fonctions qui peuvent rsoudre numriquement ces
problmes.
6.1 Trac graphique.
On utilise la fonction fplot qui assure une reprsentation plus fine que plot qui sera vue plus loin.
ex: g = 2*exp(-x).*sin(x);
fplot(g,[0 8])
6.2 Minimum dune fonction.
On utilise la fonction fmin. Si on cherche un maximum, on utilise aussi fmin sur la fonction change de
signe.
ex: g = 2*exp(-x).*sin(x) ;
xmin = fmin(g,2,5) % on cherche sur 2 < x < 5
x = xmin;
ymin = eval(g) % calcule g pour x = xmin
6.3 Zro dune fonction.
On utilise la fonction fzero qui renvoie la valeur de x qui annule la fonction g que l'on aura pralablement
dfinie dans un fichier g.m contenant :
function y=g(x); % function doit toujours tre crit en premire ligne
y=2*exp(-x).*sin(x)
Ensuite, taper dans la fentre MCW:
xz = fzero('g',3.2) % cherche au voisinage de 3.2 et renvoie dans xz
6.4 Intgration.
Les fonctions trapz, quad et quad8 calculent laire comprise entre la courbe et laxe horizontal.
Dfinir le fichier g1.m :
function y=g1(x);
y=x.*x;
puis crire le programme:
clear all

Aide au Matlab

Mr : M. KIOUS

x=0:0.1:1;
y=g1(x);
aire1=trapz(x,y)
aire2=quad('g1',0,1)
6.5 Drivation.
On vitera autant que possible la fonction diff qui drive en faisant la diffrence entre lments voisins
dans le tableau des valeurs exprimentales, toujours fausses par le bruit.
Il est plus astucieux de remplacer la courbe par une bonne approximation polynomiale avec polyfit et de
driver celle-ci avec polyder.
6.6 Equations diffrentielles.
De nombreux systmes physiques sont dcrits par des quations diffrentielles, linaires ou non. Pour
intgrer une quation diffrentielle dordre n, on se ramne un systme de n quations du premier ordre,
ce qui permettra dutiliser les fonctions ode23 ou ode45 (ordinary differential equations) qui fourniront la
solution cherche.
Exemple : on veut rsoudre l'quation de Van der Pol d2x/dt2 - m(1-x2)dx/dt + x = 0.
Elle reprsente un systme du second degr dont l'amortissement est non linaire.
On pose y1 = x et y2 = dx/dt, do le systme quivalent: dy1/dt = y2
dy2/dt = m(1-y12)y2 - y1
Pour m = 2, on programme :
function yprime =vdpol(t,y);
m = 2;
yprime = [y(2); m*(1-y(1).^2)*y(2) - y(1)];
On remarque que yprime est un vecteur colonne deux lments qui dcrit compltement lquation
diffrentielle.
Le programme suivant calcule la solution :
[t,y] = ode23(vdpol,[0,30],[0;0.01]); %utiliser help pour les arguments
y1 = y(:,1) % y(:,n) rcupre la nme colonne de y, donc x
plot(t,y1) % trace x en fonction du temps
7. LE GRAPHISME A DEUX DIMENSIONS.
Matlab propose de nombreuses fonctions graphiques. Nous donnons ici les plus utilises avec un
minimum dexplications. Utilisez help pour en savoir plus.
7.1 La fonction plot.
plot permet de tracer une ou plusieurs courbes sur le mme graphe, en choisissant le style du trait et sa
couleur et en marquant les points du tableau des valeurs si on le dsire.
ex : x = linspace(0,2*pi,30);
y = sin(x); z = cos(x);
plot(x,y,g:,x,z,r--,x,y,mo,x,z,c+);
7.2 Les commandes grid, xlabel, ylabel et text.
grid on met la grille sur le graphe trac par plot. grid off efface la grille.
xlabel et ylabel crivent du texte le long de laxe correspondant.

Aide au Matlab

Mr : M. KIOUS

text(x,y,string) crit la chane de caractres string aux coordonnes x,y du graphe.


gtext(string) donne un curseur quon amne lendroit o on dsire placer le texte. Celui ci scrit
quand on clique la souris.
7.3 La commande axis.
axis([xmin,xmax,ymin,ymax]) impose les chelles en x et y.
axis(square) prsente le graphe dans un carr au lieu du rectangle habituel.
7.4 Les commandes figure, hold, close....
La commande figure est trs riche en possibilits. Elle permet de crer une figure. La commande set
permet dagir sur tous les paramtres. Voici un exemple dutilisation :
t=linspace(0,10,100)
close
figure(1);
set(1,'position',[0 0 300 300]);
plot(t,sin(t),'y');grid;
title('commande');
figure(2);
set(2,'position',[320 0 300 300]);
plot(t,(sin(t)).^2,'c');grid;
title('sortie processus');
hold on permet de tracer plusieurs courbes sur la figure courante, jusqu la commande hold off qui
permettra de changer.
close(n) permet de fermer la fentre graphique n.
8. EXERCICES DAPPLICATION.
Pour chaque exercice, on crira un programme Matlab intitul x0_i.m pour lexercice i et on
utilisera help autant que ncessaire.
Exercice 1 (fichier x0_1.m)
Rsoudre avec Matlab le systme : x + y + z = 2
2x + y + z = 0
7x - 5y - z = -6
Exercice 2 (fichier x0_2.m)
Rsoudre graphiquement le systme y = 2x - 4
y = -x + 5 On utilisera ginput(...).
Exercice 3 (fichier x0_3.m)
Rsoudre x exp(-x2) = 0.1/ x2 en utilisant la mthode de l'exercice 2. Combien y a-t-il de solutions?
Exercice 4 (fichiers x0_4.m et f0_4.m)
Ecrire le fichier f0_4.m qui cre la fonction y = f0_4(x) = x exp(-x2) - 0.1/ x2
Ecrire x0_4.m qui trace le graphe de f0_4(x) et donne les valeurs de x pour lesquelles f0_4(x) = 0.
voir eval (ou feval) et fzero.
Exercice 5 (fichier x0_5.m)
On donne les polynmes p1 = x3 - 2x2 - x + 2
p2 = -x2 + 4x - 2
p3 = x2 -1
Utiliser Matlab pour :

Aide au Matlab

Mr : M. KIOUS

a/ Calculer leurs drives respectives dp1, dp2, dp3.


b/ Calculer le produit p12 = p1*p2.
c/ Calculer dp = p1 - p2 et en dduire les solutions de p1 = p2.
d/ Diviser p1 par p3.
e/ Calculer la valeur de p1 pour x = 0, 1, 2 et 3.
f/ Vrifier graphiquement les solutions trouves au c/ et e/
voir polyder, conv, roots, deconv, polyval.
Exercice 6 (fichiers x0_6.m et f0_6.m)
On considre la fonction y = 1 - exp(-z.w.t).((z/m).sin(wp.t) + cos(wp.t))
avec m = (1-z)1/2 et wp = m.w pour w = 6.28 rad/s.
Ecrire le fichier f0_6.m qui contiendra la fonction f0_6(t,z). Ecrire ensuite x0_6.m utilisant f0_6
pour reprsenter sur le mme graphique les courbes reprsentatives de cette fonction pour les
valeurs de z suivantes : 0.1, 0.3, 0.45 et 0.8 pour t variant de 0 5s. Indiquer la valeur de z ct
de chaque courbe, prendre une couleur diffrente pour chaque courbe et mettre comme titre
Rponse indicielle dun second ordre .
voir figure, hold on, hold off, feval, num2str, xlabel, ylabel, title, gtext, grid.
Exercice 7 (fichier x0_7.m)
Modifier le programme prcdent afin de pouvoir rentrer au clavier les valeurs de z. voir input.
Exercice 8 (fichier x0_8.m)
Modifier le programme de lexercice 6 pour mesurer le temps de rponse 5% de chaque courbe,
temps partir duquel la valeur de y sera toujours comprise entre 0.95 et 1.05.
voir ginput.
Exercice 9 (fichiers x0_9.m et f0_9.m)
On considre le systme dcrit par lquation diffrentielle suivante, x tant la sortie et u lentre du
systme
d2x/dt2 + 2z w dx/dt + w2 x = w2 u(t)
On considre le cas o u(t) est constante et gale 1 et o w=6.28 rad/s.
Ecrire la fonction yprime = f0_9(t,y) qui dcrit lquation ci-dessus puis crire x0_9.m qui intgre
lquation avec ode23 et donne une reprsentation graphique de la solution.
Modifier ensuite ce programme pour tracer sur le mme graphe les solutions correspondant
z = 0.25, 0.50, 0.75 et 1 avec une couleur diffrente pour chaque courbe.
voir global, ode23.
Exercice 10 (fichier x0_10.m)
On considre lquation diffrentielle du 3 me ordre suivante, qui dcrit la sortie x dun systme
attaqu en entre par le signal sin wt.
d3x/dt3 + 4d2x/dt2 + 5 dx/dt + 2 x = sin wt
Rsoudre cette quation avec ode23 et reprsenter sur le mme graphe la sortie du systme pour
w = 3.14, 6.28 et 12.57 rad/s (une couleur diffrente pour chaque courbe), avec des conditions
initiales nulles, puis avec x(0) =0, x(0) = -1 et x(0) =0.

9.1 OPERATORS AND SPECIAL CHARACTERS.


Help
+ Plus arith
- Minus arith
* Matrix multiplication arith
.* Array multiplication arith
^ Matrix power arith
.^ Array power arith

Aide au Matlab

Mr : M. KIOUS

\ Backslash or left division slash


/ Slash or right division slash
./ Array division slash
kron Kronecker tensor product kron
: Colon colon
( ) Parentheses paren
[ ] Brackets paren
. Decimal point punct
.. Parent directory punct
... Continuation punct
, Comma punct
; Semicolon punct
% Comment punct
! Exclamation point punct
' Transpose and quote punct
= Assignment punct
== Equality relop
< > Relational operators relop
& Logical AND relop
| Logical OR relop
~ Logical NOT relop
xor Logical EXCLUSIVE OR xor
9.2 LOGICAL CHARACTERISTICS.
exist: Check if variables or functions are defined.
any:
True if any element of vector is true.
all :
True if all elements of vector are true.
find: Find indices of non-zero elements.
isnan: True for Not-A-Number.
isinf: True for infinite elements.
finite: True for finite elements.
isempty:
True for empty matrix.
issparse:
True for sparse matrix.
isstr: True for text string.
isglobal:
True for global variables.
9.3 ELEMENTARY MATH FUNCTIONS.
9.3.1 Trigonometric.
sin :
Sine.
sinh:
Hyperbolic sine.
asin: Inverse sine.
asinh: Inverse hyperbolic sine.
cos:
Cosine.
cosh: Hyperbolic cosine.
acos: Inverse cosine.
acosh: Inverse hyperbolic cosine.
tan:
Tangent.

Aide au Matlab

tanh:
atan:
atan2:
atanh :
sec :
sech :
asec :
asech :
csc :
csch:
acsc:
acsch:
cot:
coth:
acot :
acoth:

Mr : M. KIOUS

Hyperbolic tangent.
Inverse tangent.
Four quadrant inverse tangent.
Inverse hyperbolic tangent.
Secant.
Hyperbolic secant.
Inverse secant.
Inverse hyperbolic secant.
Cosecant.
Hyperbolic cosecant.
Inverse cosecant.
Inverse hyperbolic cosecant.
Cotangent.
Hyperbolic cotangent.
Inverse cotangent.
Inverse hyperbolic cotangent.

9.3.2 Exponential.
exp:
log:
log10:
sqrt:

Exponential.
Natural logarithm.
Common logarithm.
Square root.

9.3.3 Complex.
abs:
angle :
conj:
imag:
real :

Absolute value.
Phase angle.
Complex conjugate.
Complex imaginary part.
Complex real part.

9.3.4 Numeric.
fix:
floor:
ceil :
round:
rem:
sign :

Round towards zero.


Round towards minus infinity.
Round towards plus infinity.
Round towards nearest integer.
Remainder after division.
Signum function.

9.4 NONLINEAR NUMERICAL METHODS.


ode23 : Solve differential equations, low order method.
ode23p:
Solve and plot solutions.
ode45: Solve differential equations, high order method.
quad : Numerically evaluate integral, low order method.
quad8 : Numerically evaluate integral, high order method.
fmin : Minimize function of one variable.
fmins : Minimize function of several variables.

Aide au Matlab

Mr : M. KIOUS

fzero : Find zero of function of one variable.


fplot : Plot function.
See also The Optimization Toolbox, which has a comprehensive and function functions for optimizing and
minimizing functions.
9.5 ELEMENTARY MATRICES AND MATRIX MANIPULATION.
9.5.1 Elementary matrices.
zeros : Zeros matrix.
ones : Ones matrix.
eye : Identity matrix.
rand : Uniformly distributed random numbers.
randn : Normally distributed random numbers.
linspace :
Linearly spaced vector.
logspace :
Logarithmically spaced vector.
meshgrid :
X and Y arrays for 3-D plots.
: Regularly spaced vector.
9.5.2 Special variables and constants.
ans : Most recent answer.
eps : Floating point relative accuracy.
realmax :
Largest floating point number.
realmin :
Smallest positive floating point number.
pi:
3.1415926535897....
i, j :
Imaginary unit.
inf :
Infinity.
NaN : Not-a-Number.
flops: Count of floating point operations.
nargin : Number of function input arguments.
nargout :
Number of function output arguments.
computer:
Computer type.
isieee :
True for computers with IEEE arithmetic.
isstudent :
True for the Student Edition.
why : Succinct answer.
version MATLAB version number.
9.5.3 Time and dates.
clock: Wall clock.
cputime :
Elapsed CPU time.
date : Calendar.
etime :
Elapsed time function.
tic, toc:
Stopwatch timer functions.
9.5.4 Matrix manipulation.
diag : Create or extract diagonals.

10

Aide au Matlab

Mr : M. KIOUS

fliplr : Flip matrix in the left/right direction.


flipud: Flip matrix in the up/down direction.
reshape:
Change size.
rot90 :
Rotate matrix 90 degrees.
tril :
Extract lower triangular part.
triu:
Extract upper triangular part.
: Index into matrix, rearrange matrix.
9.6 SPECIALIZED MATRICES.
compan :
gallery :
hadamard :
hankel :
hilb :
invhilb :
kron:
magic :
pascal :
rosser :
toeplitz :
vander:
wilkinson :

Companion matrix.
Several small test matrices.
Hadamard matrix.
Hankel matrix.
Hilbert matrix.
Inverse Hilbert matrix.
Kronecker tensor product.
Magic square.
Pascal matrix.
Classic symmetric eigenvalue test problem.
Toeplitz matrix.
Vandermonde matrix.
Wilkinson's eigenvalue test matrix.

9.7 GENERAL PURPOSE GRAPHICS FUNCTIONS.


9.7.1 Figure window creation and control.
figure :
gcf:
clf :
close :

Create Figure (graph window).


Get handle to current figure.
Clear current figure.
Close figure.

9.7.2 Axis creation and control.


subplot:
axes :
gca :
cla :
axis:
caxis :
hold:

Create axes in tiled positions.


Create axes in arbitrary positions.
Get handle to current axes.
Clear current axes.
Control axis scaling and appearance.
Control pseudocolor axis scaling.
Hold current graph.

9.7.3 Handle Graphics objects.


figure :
Create figure window.
axes :
Create axes.
line :
Create line.
text:
Create text.
patch :
Create patch.
surface:
Create surface.

11

Aide au Matlab

image :
uicontrol :
uimenu :

Mr : M. KIOUS

Create image.
Create user interface control.
Create user interface menu.

9.7.4 Handle Graphics operations.


set:
Set object properties.
get : Get object properties.
reset : Reset object properties.
delete: Delete object.
gco:
Get handle to current object.
drawnow:
Flush pending graphics events.
newplot :
M-file preamble for NextPlot property.
findobj:
Find objects with specified property values.
9.7.5 Hardcopy and storage.
print :
printopt:
orient :
capture:

Print graph or save graph to file.


Configure local printer defaults.
Set paper orientation.
Screen capture of current figure.

9.7.6 Movies and animation.


moviein :
getframe:
movie :

Initialize movie frame memory.


Get movie frame.
Play recorded movie frames.

9.7.7 Miscellaneous.
ginput:
Graphical input from mouse.
ishold :
Return hold state.
graymon:
Set graphics window defaults for gray-scale monitors.
rbbox :
Rubberband box.
rotate :
Rotate an object about a specified direction.
terminal:
Set graphics terminal type.
uiputfile:
Put up dialog box for saving files.
uigetfile :
Put up dialog box which queries for file names.
whitebg:
Set graphics window defaults for white background.
zoom :
Zoom in and out on a 2-D plot.
waitforbuttonpress :
Wait for key/buttonpress over figure.
See also PLOTXY, PLOTXYZ, COLOR.
9.8 TWO DIMENSIONAL GRAPHICS.
9.8.1 Elementary X-Y graphs.
plot : Linear plot.
loglog :
Log-log scale plot.
semilogx:
Semi-log scale plot.

12

Aide au Matlab

semilogy :
fill :

Mr : M. KIOUS

Semi-log scale plot.


Draw filled 2-D polygons.

9.8.2 Specialized X-Y graphs.


polar :
bar :
stem:
stairs :
errorbar :
hist :
rose :
compass :
feather:
fplot :
comet :

Polar coordinate plot.


Bar graph.
Discrete sequence or "stem" plot.
Stairstep plot.
Error bar plot.
Histogram plot.
Angle histogram plot.
Compass plot.
Feather plot.
Plot function.
Comet-like trajectory.

9.8.3 Graph annotation.


title :
xlabel :
ylabel :
text :
gtext:
grid:

Graph title.
X-axis label.
Y-axis label.
Text annotation.
Mouse placement of text.
Grid lines.

See also PLOTXYZ, GRAPHICS.


9.9 THREE DIMENSIONAL GRAPHICS.
9.9.1 Line and area fill commands.
plot3: Plot lines and points in 3-D space.
fill3:
Draw filled 3-D polygons in 3-D space.
comet3:
3-D comet-like trajectories.
9.9.2 Contour and other 2-D plots of 3-D data.
contour :
contour3 :
clabel :
contourc :
pcolor:
quiver :

Contour plot.
3-D contour plot.
Contour plot elevation labels.
Contour plot computation (used by contour).
Pseudocolor (checkerboard) plot.
Quiver plot.

9.9.3 Surface and mesh plots.


mesh: 3-D mesh surface.
meshc: Combination mesh/contour plot.
meshz:
3-D Mesh with zero plane.

13

Aide au Matlab

surf :
surfc :
surfl:
waterfall:

Mr : M. KIOUS

3-D shaded surface.


Combination surf/contour plot.
3-D shaded surface with lighting.
Waterfall plot.

9.9.4 Volume visualization.


slice : Volumetric visualization plots.
9.9.5 Graph appearance.
view : 3-D graph viewpoint specification.
viewmtx :
View transformation matrices.
hidden :
Mesh hidden line removal mode.
shading:
Color shading mode.
axis :
Axis scaling and appearance.
caxis :
Pseudocolor axis scaling.
colormap:
Color look-up table.
9.9.6 Graph annotation.
title
Graph title.
xlabel :
X-axis label.
ylabel :
Y-axis label.
zlabel:
Z-axis label for 3-D plots.
text:
Text annotation.
gtext:
Mouse placement of text.
grid :
Grid lines.
9.9.7 3-D objects.
cylinder :
Generate cylinder.
sphere :
Generate sphere.
See also COLOR, PLOTXY, GRAPHICS.
9.10 MATRIX FUNCTIONS NUMERICAL LINEAR ALGEBRA.
9.10.1 Matrix analysis.
cond:
norm:
rcond:
rank :
det :
trace :
null :
orth:
rref :

Matrix condition number.


Matrix or vector norm.
LINPACK reciprocal condition estimator.
Number of linearly independent rows or columns.
Determinant.
Sum of diagonal elements.
Null space.
Orthogonalization.
Reduced row echelon form.

14

Aide au Matlab

Mr : M. KIOUS

9.10.2 Linear equations.


\ and / Linear equation solution; use "help slash".
chol: Cholesky factorization.
lu :
Factors from Gaussian elimination.
inv:
Matrix inverse.
qr :
Orthogonal-triangular decomposition.
qrdelete :
Delete a column from the QR factorization.
qrinsert:
Insert a column in the QR factorization.
nnls :
Non-negative least-squares.
pinv :
Pseudoinverse.
lscov:
Least squares in the presence of known covariance.
9.10.3 Eigenvalues and singular values.
eig:
Eigenvalues and eigenvectors.
poly: Characteristic polynomial.
polyeig :
Polynomial eigenvalue problem.
hess :
Hessenberg form.
qz :
Generalized eigenvalues.
rsf2csf :
Real block diagonal form to complex diagonal form.
cdf2rdf :
Complex diagonal form to real block diagonal form.
schur:
Schur decomposition.
balance :
Diagonal scaling to improve eigenvalue accuracy.
svd:
Singular value decomposition.
9.10.4 Matrix functions.
expm :
expm1:
expm2 :
expm3 :
logm:
sqrtm:
funm :

Matrix exponential.
M-file implementation of expm.
Matrix exponential via Taylor series.
Matrix exponential via eigenvalues and eigenvectors.
Matrix logarithm.
Matrix square root.
Evaluate general matrix function.

9.11 POLYNOMIAL AND INTERPOLATION FUNCTIONS.


9.11.1 Polynomials.
roots :
poly:
polyval :
polyvalm :
residue :
polyfit :
polyder :
conv :
deconv :

Find polynomial roots.


Construct polynomial with specified roots.
Evaluate polynomial.
Evaluate polynomial with matrix argument.
Partial-fraction expansion (residues).
Fit polynomial to data.
Differentiate polynomial.
Multiply polynomials.
Divide polynomials.

15

Aide au Matlab

Mr : M. KIOUS

9.11.2 Data interpolation.


interp1:
interp2:
interpft :
griddata:

1-D interpolation (1-D table lookup).


2-D interpolation (2-D table lookup).
1-D interpolation using FFT method.
Data gridding.

9.11.3 Spline interpolation.


spline:
ppval :

Cubic spline data interpolation.


Evaluate piecewise polynomial.

9.12 DATA ANALYSIS AND FOURIER TRANSFORM FUNCTIONS.


9.12.1 Basic operations.
max:
min:
mean:
median:
std:
sort:
sum :
prod:
cumsum:
cumprod:
trapz :

Largest component.
Smallest component.
Average or mean value.
Median value.
Standard deviation.
Sort in ascending order.
Sum of elements.
Product of elements.
Cumulative sum of elements.
Cumulative product of elements.
Numerical integration using trapezoidal method.

9.12.2 Finite differences.


diff:
gradient:
del2 :

Difference function and approximate derivative.


Approximate gradient.
Five-point discrete Laplacian.

9.12.3 Vector operations.


cross :
dot:

Vector cross product.


Vector dot product.

9.12.4 Correlation.
corrcoef:
cov:
subspace :

Correlation coefficients.
Covariance matrix.
Angle between subspaces.

9.12.5 Filtering and convolution.


filter :
filter2 :

One-dimensional digital filter.


Two-dimensional digital filter.

16

Aide au Matlab

conv:
conv2:
deconv :

Mr : M. KIOUS

Convolution and polynomial multiplication.


Two-dimensional convolution.
Deconvolution and polynomial division.

9.12.6 Fourier transforms.


fft :
fft2:
ifft:
ifft2 :
abs:
angle:
unwrap:
fftshift:
cplxpair:
nextpow2:

Discrete Fourier transform.


Two-dimensional discrete Fourier transform.
Inverse discrete Fourier transform.
Two-dimensional inverse discrete Fourier transform.
Magnitude.
Phase angle.
Remove phase angle jumps across 360 degree boundaries.
Move zeroth lag to center of spectrum.
Sort numbers into complex conjugate pairs.
Next higher power of 2.

9.13 SOUND PROCESSING FUNCTIONS.


sound:
Convert vector into sound.
saxis:
Sound axis scaling.
Computer-specific sound functions.
auwrite:
Write mu-law encloded audio file.
auread:
Read mu-law encloded audio file.
wavwrite:
Write MS Windows .WAV audio file.
wavread:
Read MS Windows .WAV audio file.
mu2lin :
Mu-law to linear conversion.
lin2mu:
Linear to mu-law conversion.
9.14 CHARACTER STRING FUNCTIONS.
9.14.1 General.
strings:
abs :
setstr :
isstr :
blanks:
deblank :
str2mat:
eval:

About character strings in Matlab.


Convert string to numeric values.
Convert numeric values to string.
True for string.
String of blanks.
Remove trailing blanks.
Form text matrix from individual strings.
Execute string with Matlab expression.

9.14.2 String comparison.


strcmp :
findstr :
upper:
lower:
isletter :
isspace:

Compare strings.
Find one string within another.
Convert string to uppercase.
Convert string to lowercase.
True for letters of the alphabet.
True for white space characters.

17

Aide au Matlab

strrep:
strtok:

Mr : M. KIOUS

Replace a string with another.


Find a token in a string.

9.14.3 String to number conversion.


num2str:
int2str:
str2num:
sprintf :
sscanf :

Convert number to string.


Convert integer to string.
Convert string to number.
Convert number to string under format control.
Convert string to number under format control.

9.14.4 Hexadecimal to number conversion.


hex2num:
hex2dec:
dec2hex:

Convert hex string to IEEE floating point number.


Convert hex string to decimal integer.
Convert decimal integer to hex string.

9.15 SPECIALIZED MATH FUNCTIONS.


besselj:
bessely:
besseli:
besselk:
beta:
betainc:
betaln:
ellipj:
ellipke:
erf:
erfc:
erfcx:
erfinv:
expint:
gamma:
gcd :
gammainc:
lcm :
legendre:
gammaln:
log2 :
pow2:
rat:
rats:
cart2sph:
cart2pol :
pol2cart:
sph2cart :

Bessel function of the first kind.


Bessel function of the second kind.
Modified Bessel function of the first kind.
Modified Bessel function of the second kind.
Beta function.
Incomplete beta function.
Logarithm of beta function.
Jacobi elliptic functions.
Complete elliptic integral.
Error function.
Complementary error function.
Scaled complementary error function.
Inverse error function.
Exponential integral function.
Gamma function.
Greatest common divisor.
Incomplete gamma function.
Least common multiple.
Associated Legendre function.
Logarithm of gamma function.
Dissect floating point numbers.
Scale floating point numbers.
Rational approximation.
Rational output.
Transform from Cartesian to spherical
Transform from Cartesian to polar
Transform from polar to Cartesian
Transform from spherical to Cartesian

9.16 SPARSE MATRIX FUNCTIONS.

18

Aide au Matlab

Mr : M. KIOUS

9.16.1 Elementary sparse matrices.


speye :
sprandn :
sprandsym :
spdiags :

Sparse identity matrix.


Sparse random matrix.
Sparse symmetric random matrix.
Sparse matrix formed from diagonals.

9.16.2 Full to sparse conversion.


sparse :
full :
find :
spconvert :

Create sparse matrix from nonzeros and indices.


Convert sparse matrix to full matrix.
Find indices of nonzero entries.
Convert from sparse matrix external format.

9.16.3 Working with nonzero entries of sparse matrices.


nnz:
Number of nonzero entries.
nonzeros :
Nonzero entries.
nzmax:
Amount of storage allocated for nonzero entries.
spones :
Replace nonzero entries with ones.
spalloc:
Allocate memory for nonzero entries.
issparse:
True if matrix is sparse.
spfun:
Apply function to nonzero entries.
9.16.4 Visualizing sparse matrices.
spy :
gplot:

Visualize sparsity structure.


Plot graph, as in "graph theory".

9.16.5 Reordering algorithms.


colmmd:
symmmd:
symrcm :
colperm :
randperm :
dmperm:

Column minimum degree.


Symmetric minimum degree.
Reverse Cuthill-McKee ordering.
Order columns based on nonzero count.
Random permutation vector.
Dulmage-Mendelsohn decomposition.

9.16.6 Norm, condition number, and rank.


normest:
condest:
sprank :

Estimate 2-norm.
Estimate 1-norm condition.
Structural rank.

9.16.7 Operations on trees.


treelayout :
treeplot :
etree :

Layout a tree or forest.


Plot a picture of a tree.
Elimination tree of a matrix.

19

Aide au Matlab

Mr : M. KIOUS

etreeplot:

Plot the elimination tree.

9.16.8 Micellanous
symbfact :
spparms:
spaugment:

Symbolic factorization analysis.


Set parameters for sparse matrix routines.
Form least squares augmented system.

9.17 LANGUAGE CONSTRUCTS AND DEBUGGING.


9.17.1 Matlab as a programming language.
script:
function :
eval:
feval :
global:
nargchk :
lasterr:

About Matlab scripts and M-files.


Add new function.
Execute string with Matlab expression.
Execute function specified by string.
Define global variable.
Validate number of input arguments.
Last error message.

9.17.2 Control flow.


if :
Conditionally execute statements.
else:
Used with IF.
elseif :
Used with IF.
end:
Terminate the scope of FOR, WHILE and
IF: statements.
for:
Repeat statements a specific number of times.
while: Repeat statements an indefinite number of times.
break: Terminate execution of loop.
return: Return to invoking function.
error : Display message and abort function.
9.17.3 Interactive input.
input: Prompt for user input.
keyboard:
Invoke keyboard as if it were a Script-file.
menu: Generate menu of choices for user input.
pause :
Wait for user response.
uimenu :
Create user interface menu.
uicontrol:
Create user interface control.
9.17.4 Debugging commands.
dbstop:
dbclear:
dbcont:
dbdown:
dbstack:
dbstatus:

Set breakpoint.
Remove breakpoint.
Resume execution.
Change local workspace context.
List who called whom.
List all breakpoints.

20

Aide au Matlab

dbstep:
dbtype :
dbup:
dbquit:
mexdebug :

Mr : M. KIOUS

Execute one or more lines.


List M-file with line numbers.
Change local workspace context.
Quit debug mode.
Debug MEX-files.

9.18 COLOR CONTROL AND LIGHTING MODEL FUNCTIONS.


9.18.1 Color controls.
colormap:
caxis:
shading:

Color look-up table.


Pseudocolor axis scaling.
Color shading mode.

9.18.2 Color maps.


hsv:
Hue-saturation-value color map.
gray: Linear gray-scale color map.
hot:
Black-red-yellow-white color map.
cool : Shades of cyan and magenta color map.
bone: Gray-scale with a tinge of blue color map.
copper: Linear copper-tone color map.
pink : Pastel shades of pink color map.
prism: Prism color map.
jet:
A variant of HSV.
flag:
Alternating red, white, blue, and black color map.
9.18.3 Color map related functions.
colorbar:
hsv2rgb :
rgb2hsv :
contrast:
brighten:
spinmap :
rgbplot:

Display color bar (color scale).


Hue-saturation-value to red-green-blue conversion.
Red-green-blue to hue-saturation-value conversion.
Gray scale color map to enhance image contrast.
Brighten or darken color map.
Spin color map.
Plot color map.

9.18.4 Lighting models.


surfl 3-D :
specular :
diffuse :
surfnorm:

shaded surface with lighting.


Specular reflectance.
Diffuse reflectance.
Surface normals.

9.19 LOW-LEVEL FILE I/O FUNCTIONS.


9.19.1 File opening and closing.
fopen:
fclose:

Open file.
Close file.

21

Aide au Matlab

Mr : M. KIOUS

9.19.2 Unformatted I/O.


fread :
fwrite:

Read binary data from file.


Write binary data to file.

9.19.3 Formatted I/O.


fscanf :
fprintf:
fgetl:
fgets:

Read formatted data from file.


Write formatted data to file.
Read line from file, discard newline character.
Read line from file, keep newline character.

9.19.4 File positioning.


ferror :
feof :
fseek:
ftell:
frewind :

Inquire file I/O error status.


Test for end-of-file.
Set file position indicator.
Get file position indicator.
Rewind file.

9.19.5 String conversion.


sprintf:
sscanf :

Write formatted data to string.


Read string under format control.

9.19.6 File Import/Export Routines.


9.19.7 WK1 Format.
wk1const:
wk1read :
wk1write :
wk1wrec :

WK1 record definitions.


Read WK1 file/range.
Write out matrix in a WK1 formatted file.
Write a WK1 record HEADER.

9.19.8 CSV Format.


csvread :
csvwrite :

Read Comma Separated Value formatted file into a matrix.


Write out matrix in a CSV formatted file.

9.19.9 ASCII Delimited Format.


dlmread :
Read ASCII delimited file into a matrix.
dlmwrite :
Write out matrix in ASCII delimited file format.
9.20 GENERAL PURPOSE COMMANDS.
9.20.1 Managing commands and functions.
help:

On-line documentation.

22

Aide au Matlab

Mr : M. KIOUS

doc : Load hypertext documentation.


what: Directory listing of M-, MAT- and MEX-files.
type List M-file.
lookfor :
Keyword search through the HELP entries.
which :
Locate functions and files.
demo : Run demos.
path : Control Matlab's search path.
9.20.2 Managing variables and the workspace.
who:
whos:
load:
save:
clear :
pack:
size :
length :
disp:

List current variables.


List current variables, long form.
Retrieve variables from disk.
Save workspace variables to disk.
Clear variables and functions from memory.
Consolidate workspace memory.
Size of matrix.
Length of vector.
Display matrix or text.

9.20.3 Working with files and the operating system.


cd :
Change current working directory.
dir:
Directory listing.
delete :
Delete file.
getenv:
Get environment value.
! Execute operating system command.
unix : Execute operating system command & return result.
diary : Save text of Matlab session.
9.20.4 Controlling the command window.
cedit:
clc :
home:
format:
echo:
more :

Set command line edit/recall facility parameters.


Clear command window.
Send cursor home.
Set output format.
Echo commands inside script files.
Control paged output in command window.

9.20.5 Starting and quitting from Matlab.


quit :
startup :
matlabrc :

Terminate Matlab.
M-file executed when Matlab is invoked.
Master startup M-file.

9.20.6 General information.


info:
subscribe :
hostid:

Information about Matlab and The MathWorks, Inc.


Become subscribing user of Matlab.
Matlab server host identification number.

23

Aide au Matlab

Mr : M. KIOUS

whatsnew :
Information about new features not yet documented.
ver Matlab, Simulink, and TOOLBOX version

Deuxime partie : Les Toolboxes de Matlab


Les toolboxes sont rellement des caisses outils comportant une collection de fonctions relatives
plusieurs domaines scientifiques et techniques.
Les toolboxes existant partir de la version 5.3 sont :
Statistics Toolbox, Signal Processing Toolbox, Image Processing Toolbox, Fuzzy Logic Toolbox,
Neural Networks Toolbox, Spline Toolbox, Wavelet Toolbox, Mapping Toolbox,
Control System Toolbox, Optimization Toolbox, Robust Control Toolbox, System Identification Toolbox,
Higher-Order Spectral Analysis Toolbox, DSP Blockset, Frequency Domain, Mu Analysis and Synthesis
Toolbox, Power System Blockset, Data Acquisition Toolbox,
Database Toolbox, Financial Toolbox, Communications Toolbox, MATLAB Web Server,
Symbolic Math Toolbox, Partial Differential Equations (PDE) Toolbox,
Attention : pour tre accessibles, ces toolboxes ainsi que leur documentation "pdf" doivent tre
slectionns lors de linstallation de Matlab.
Nous allons essayer, dans ce qui suit, de survoler les toolboxes les plus couramment utilises pour le
calcul scientifique et la modlisation notamment dans le domaine de la gographie.
VII-1- Toolbox Statistiques
Les fonctions du toolbox statistique peuvent tre classes comme suit :
- Les fonctions (lois) de densit de probabilit et fdp cumulatives : beta, binomial, Chi2, exponential, F,
gamma, normal, Poisson, Rayleigh, T, Uniform, Weibull,
- Les fonctions inverses de toutes ces fonctions sont aussi disponible : betainv, binoinv, chi2inv, gaminv,
norminv, poissinv, raylinv, weibinv,
- Les gnrateurs de nombres alatoires distribus selon ces lois : betarnd, binornd, chi2rnd, frnd,
gamrnd, lognrnd, normrnd, poissrnd, unifrnd, weibrnd,
- Statistiques de toutes ces lois ( moyenne, variance, ) : betastat, binostat, chi2stat, gamstat, poisstat,
weibstat,
- Statistiques descriptives : mean, median, geomean, harmmean, std, var, skewness, kurtosis, Kurtosis,
iqr (interquartile range), corrcoef , cov,
- Les tests dhypothese : ranksum, signrank, ztest, ttest, ttest2, anova1, anova2,

24

Aide au Matlab

Mr : M. KIOUS

- Modles linaires : polyfit, polyval, regress,


- Classification : pdist, linkage, dendrogram, cluster, clusterdata,
- Analyse en Composantes Principales : pcacov, pcares, princomp,
Exemple 1 : Modlisation d'une loi de Probabilit
load fkta02.mat
load fkta08.mat
whos
%help stats
%help betafit
x=0.02:0.04:0.98;
BETAFIT(kta02(1:350))
y=betapdf(x,0.5,3.05);
BETAFIT(kta08(1:350))
z=betapdf(x, 2.63,0.5);
subplot(121);hist(kta02,20),hold on,plot(x,(length(kta02)/20)*y,'r')
subplot(122);hist(kta08,20),hold on,plot(x,(length(kta08)/20)*z,'r')
600

300

500

250

400

200

300

150

200

100

100

50

0.2

0.4

0.6

0.8

0.2

0.4

0.6

0.8

EX2 : Lissage polynomial et rgression :


Polyfit : help polyfit
X=[1 2 3 4 5 6 7 8 9];
Y=[2 5 6 9 7 3 4 5 8];
polytool(X,Y,3);
a=polyfit(X,Y,5)

16
14
12
10
8
6
4
2

Regression :
help regress
b = regress(Y',[X' X'.^2])

0
-2
-4
1

Eemple3 : ACP aux donnes mtorologiques


help princomp
[PC, SCORE, LATENT, TSQUARE] = PRINCOMP(T);
plot(SCORE)

25

Aide au Matlab

Mr : M. KIOUS

plot(SCORE)
S1= SCORE(:,1); S2= SCORE(:,2);
figure;plot(S1,S2,'+')

deuxieme axe principal

25
20
15
10
5
0
-5

-10
-15

-10

-5

10

15

premier axe principal

20

25

Exemple 4 : Classification de stations mtorologiques (dendrogramme)


Y = PDIST([S1 S1],METRIC);
L=LINKAGE(Y, 'single') ;
DENDROGRAM(Z);

2.5

1.5

0.5

6 1517182013222330252624272829 1 2 4 3 7 21 9 101112141916 5 8

VII-2- Toolbox traitement de signal


Lun des premiers principes du traitement du signal est la reprsentation du signal dans une base
vectorielle de fonctions (signaux simples) dans le but d'une meilleur extraction et interprtation des
proprits de ce signal.

26

Aide au Matlab

Mr : M. KIOUS

f(t) Fi gi (t)
i

f(t) est le signal analyser et gi(t) sont les fonctions de reprsentation auxquelles on exige de former une
base vectorielle orthonormes.
Les fonctions sinus et cosinus sont les fonctions idales pour cette reprsentation. En effet, Joseph Fourier
a dmontr que tout signal pouvait tre reprsent sous la forme dune somme (souvent infinie) de signaux
sinusodaux de frquences et de phases diffrentes.
Si le signal est priodique, on parle de srie de Fourier. Pour un signal quelconque (cas gnral), cest
plutt la transforme de Fourier qui est utilise.
Le signal et sa transforme de Fourier sont lis par les expressions suivantes.

f(t) F().e .d
jt

F ( ) f (t ). e

j t

et

.dt

Notons que cette somme est plus souvent reprsente sous forme dintgrale.
Exemple : TF de signal carr
1

t = 0:0.01:5;
y = square(2*pi*t);, plot(t,y)
z=fft(y);
y=abs(z(1))*cos(2*pi*t+angle(z(1))
+ abs(z(2))*cos(2*pi*t+angle(z(2))+

0
-1
10

100

200

300

400

500

600

100

200

300

400

500

600

100

200

300

400

500

600

100

200

300

400

500

600

100

200

300

400

500

600

0
-1
10
0

-1
10

0.8
0.6
0.4

0.2

-1
10

0
-0.2
-0.4

-0.6
-0.8

-1

-1
0

100

200

300

400

500

600

Le traitement de signal comporte outre les techniques bases sur la reprsentation de Fourier, dautres
transformations qui ne sont que, comme la TF, des reprsentations dans des espaces de fonctions
orthonormes. Le TS comporte aussi des techniques de traitement statistique du signal.
Le toolbox "signal processing" de Matlab comporte une collection trs riche de fonctions de traitement du
signal. On peut citer les sous familles suivantes :
- Transformes : dct, fft, hilbert, idct, ifft, czt,
- Analyse et implmentation de filtres : FIR, IIR,
- Translation frquentielle (modulation),
- Traitement statistique du signal : corrcoef, cov, pcov, spectrum, tfe, xcorr, xcov,
- Modlisation paramtrique de srie temporelle : ar, arima, arburg, arcov, aryule, ident,

Eemple1 : Transforme de Fourier 1D

9
8
7

Analysons les squences annuelles de mesures dnergie


de rayonnement solaire journalier.

6
5
4
3
2
1
0

200

400

600

800

1000

1200

27

Aide au Matlab

Mr : M. KIOUS

ghan91;ghan92;ghan93;
GH=[gha91' gha92' gha93']/1000;
plot(GH);pause
plot(GH(1:2*365));pause,
plot(GH(1:365))
Lapplication de la TF des squences annuelles, bi-annuelles et tri-annuelles donne :
FGH1=fft(GH(1:365));
FGH1= 1.54, -0.44-0.04i, 0.02-0.01i, 0.02+0.05i, -0.002-0.015i, 0.01+0.008i,
FGH2=fft(GH(1:2*365));
FGH2= 3.05, -0.01-0.03i, -0.87-0.08i, -0.02+0.02i, 0.025-0.04i, 0.003-0.01i,
FGH3=fft(GH);
FGH3= 4.52, -0.03-0.05i, -0.04-0.07i, -1.25-0.16i, 0.016+0.03i, -0.02+0.07i,
subplot(131);plot(abs(FGH1(1:20)),'*b:');
subplot(132);plot(abs(FGH2(1:20)),'*m:');
subplot(133);plot(abs(FGH3(1:20)),'*r:');
2000

4000

1500

3000

1000

2000

500

1000

10

20

5000
4000
3000
2000
1000
0

10

20

10

20

Les harmoniques ont des contribution importantes pour les variations du signal correspondantes.
EX2 : Fonction dautocorrlation du signal
subplot(131);plot(xcorr(GH(1:365)))
subplot(132);plot(xcorr(GH(1:2*365)))
subplot(133);plot(xcorr(GH(1:3*365)))
Lautocorrlation mesure la ressemblance entre le signal et des versions dcales de ce mme signal. On
peut voir que lorsque le dcalage est multiple de 365 (nombre de jours/an), lautocorrlation augmente
indiquant une ressemblance (saison par saison) entre les squences annuelles.

28

Aide au Matlab

Mr : M. KIOUS

10000

8000

x 10

x 10

2.5
2

1.5

6000

1.5
1

4000

1
0.5

2000
0

500

1000

0.5
0

500

1000

1500

1000

2000

3000

VII-3- Toolbox Traitement dimages


Le toolbox "images" est une collection de fonction spcialises dans le traitement des images appliqu
des domaines aussi varis que limagerie mdicale, la tldtection et le contrle non destructif. Ces outils
sont groups en sous-familles comme suit :
- Visualisation dimages : image, imshow, immovie, montage, colorbar, pixval
- criture et lecture dimage : imread et imwrite ( pour les format image tels que tif, jpg, bmp,)
- Operations gometriques : imcrop, imresize, imrotate,
- Statistiques : mean2, std2, corr2, imhist,
- Analyse dimage : edge, qtdecomp, imcontour,
- Rhaussement : histeq, imadjust, medfilt2, ordfilt2,
- Transformes : fft2, ifft2,
- Filtrage : fsamp2, ftrans2, fwind2,
- Palette des couleurs : brighten, colormap,
- Conversion de types : gray2ind, im2bw, im2double, im2uint8, im2uint16, ind2gray, ind2rgb, isbw,
isgray, isind, isrgb, mat2gray, rgb2gray, rgb2ind
500

taper help topic pour plus de dtails


Eemple1: diverses oprations
- lecture partir dun fichier binaire
fid=fopen(b4juin.raw,'r');
IM = fread(fid,[3786,3424],uint8) ;
fclose(fid);
IM=IM';
Image(IM);

1000
1500
2000
2500
3000

500

1000

1500

2000

2500

3000

3500

700

800

100
200
300
400
500
600

- dcoupage et affichage
IMTL=IM(1300:2200,200:1100);
image(IMTL)

700

- redimensionnement
size(IMTL)
ans = 901 901

20

800
900

100

200

300

400

500

600

900

40
60
80
100

29

120
140
160
180

20

40

60

80

100

120

140

160

180

Aide au Matlab

Mr : M. KIOUS

IMTL2 = imresize(IMTL,0.2,'bilinear');
IMTL2=round(IMTL2);
size(IMTL2)
ans = 180 180
image(IMTL2)
- transformation de type :
AMIN=min(min(IMTL2)) ; AMAX=max(max(IMTL2)) ;
I = MAT2GRAY(IMTL2,[AMIN AMAX]);
- galisation d'histogramme
J = histeq(I);
imshow(I), figure, imshow(J)

- histogrammes
imhist(I), figure, imhist(J)
600

500
400

400

300
200

200

100
0

0
0

0.5

0.5

- Detection de contours
JE1 = edge(J,'prewitt');
imshow(JE1);
JE2 = edge(J,'canny');
figure;imshow(JE2);
subplot(121), imshow(JE1); subplot(122), imshow(JE2);

30

Aide au Matlab

Mr : M. KIOUS

- transforme de Fourier fft2 :


Y=fft2(IMTL2);
mesh(abs(Y))

Voir demo pour dautres exemples (notamment ipss001 ).


VII-4- Toolbox Ondelettes
Principe :
La transforme de Fourier joue un rle prpondrant dans l'analyse et le traitement des signaux. Elle
permet en outre de raliser des oprations de filtrage par simple multiplication dans le domaine frquentiel
(domaine de Fourier). Cependant, les signaux possdant des rgimes transitoires ou des parties nonstationnaires (signal parole, signaux sismiques, ) sont mal dcrits ou reprsents par une transforme de
Fourier.
Pour pallier cette dficience, on a eu l'ide d'introduire la reprsentation du signal en fonction, non pas
dondes (sinus et cosinus), mais plutt comme une somme dondelettes. Les ondelettes sont des petites
ondes finies dans le temps, bien localises dans le temps (facteur de translation) et de frquences variables
(facteur dchelle, serre ou tale).

31

Aide au Matlab

Mr : M. KIOUS

Ainsi, de la mme faon que la transforme de Fourier qui peut se dfinir comme tant une projection sur
la base des exponentielles complexes, on dfinirait la transforme en ondelettes comme la projection sur la
base des fonctions ondelettes.

Les coefficients d'ondelettes (TO(a;b)) dpendent de deux paramtres a et b : a tant le facteur d'chelle et
b le facteur de translation.
Les fonctions a;b(t) sont obtenues partir de la dilatation et de la translation de la fonction mre (t).
Les fonctions a;b(t) sont par consquent parfois appeles les ondelettes filles. Ces fonctions forment une
base orthonorme. Tout comme la transforme de Fourier, la transforme en ondelettes est inversible.

Le wavelet toolbox de Matlab (5.3 et plus) possde un nombre trs important de fonctions spcialises.
Taper help wavelet pour voir toute la liste.
Exemples :
ghan91;ghan92;ghan93;
GH=[gha91' gha92' gha93']/1000;
l=length(GH);
[ca1,cd1]=dwt(GH,'db1');
a1=upcoef('a',ca1,'db1',1,l);
d1=upcoef('d',cd1,'db1',1,l);
subplot(311),plot(a1);subplot(312),plot(d1);subplot(313),plot(a1+b1);

32

Aide au Matlab

Mr : M. KIOUS

10
5
0
5

200

400

600

800

1000

1200

200

400

600

800

1000

1200

200

400

600

800

1000

1200

0
-5
10
5
0

Le toolbox wavelet possde galement une interface graphique qui permet deffectuer une analyse en
ondelettes un signal sauvegard dans un fichier *.mat. Pour activer ce GUI, taper wavemenu.

VII-5- Mapping Toolbox


Ce Toolbox regroupe des fonctions relatives la cartographie et la gographie en gnral. Taper help
map pour voir la liste complte des fonctions disponible dans la version de Matlab utilise ou consulter le
fichier map_ug.pdf pour un cours complet sur le mapping toolbox.
Exemple 1 : distance entre deux points
help distance,
distance(46,-73,37,3)
ans = 55.45017803314318
deg2km(55.45)
ans = 6.165758682440783e+003
deg2nm(55.45)
ans = 3.329243349050099e+003
Exemple 2 : surface dun territoire
- aire dlimite par latmin-lonmin et latmax-lonmax
area=areaquad(15,0,45,30)
area = 0.01867

- aire dlimite par un polygone


load usalo
50
plot(statelon,statelat),hold on,plot(uslon,uslat,'r'),hold on,
plot(gtlakelon,gtlakelat,'g')
areaint(uslat,uslon)
ans =
0.01553842116460

45

40

35

33
30

25
-130

-120

-110

-100

-90

-80

-70

-60

Aide au Matlab

Mr : M. KIOUS

0.00000677438424
0.00000070866308

VII-6- Toolbox de Maths Symboliques


Les fonctions du symbolic toolbox permettent de faire des oprations mathmatiques sur des variables ou
des fonctions symboliques (i.e. non numriques). On peut citer les sous-familles suivantes :
- Calcul : diff, int, limit, taylor, symsum,
- Algbre linaire : diag, triu, inv, det, eig,
- Simplification : simplify, simple, numden,
- Solution dquations : solve, dsolve, finverse, compose,
- Transformes : fourier, laplace, ztrans, ifourier, ilaplace, iztrans,
- Demonstrations : symintro, symcalcdemo, symlindemo, symvpademo, symrotdemo,
Exemple 1 : intgration et diffrentiation
syms x
int(x^2+3*x^3-2*x)
ans = 1/3*x^3+3/4*x^4-x^2
diff(log(x^2)-exp(x^3)+2*x)
ans = 2/x-3*x^2*exp(x^3)+2

Exemple 2 : rsolution dun systme dquation


syms x y
[x,y] = solve('x^2 + x*y + y = 3','x^2 - 4*x + 3 = 0')
x=
[ 1]
[ 3]
y=
[ 1]
[ -3/2]

34

Aide au Matlab

Mr : M. KIOUS

VII-7- Toolbox Rseaux de Neurones


Principe :
Les rseaux de neurones artificiels ont t conus la base du modle du neurone naturel. Ce dernier tant
excit par un stimuli, il y rpond selon sa fonction de transfert par une sortie (rponse) qui peut tre une
attnuation ou une amplification de l'entre (stimuli).
Neurone Simple :

Le poids w sert amplifier ou attnuer l'effet du stimuli sur la rponse.


Fonctions de transfert : on peut trouver diffrentes formes de fonctions de transfert

Une couche de neurones multi-entres multi-sorties :

35

Aide au Matlab

Mr : M. KIOUS

Matrice des poids

Dans un rseau de neurones, les sorties sont donc relies aux entres via des fonctions et des poids.
Rseau de neurones multi-couches
Afin de pouvoir dtecter ou reproduire d'ventuelles relations complexes entre les sorties et les entres, il
est possible de devoir recourir un rseau plusieurs couches. Plus on multiplie la complexit du rseau,
plus on le dote "d'intelligence" et de "mmoire".

Utilisation dans la modlisation :

36

Aide au Matlab

Mr : M. KIOUS

Pour concevoir un modle base de rseaux de neurones, on doit d'abord choisir une structure (nombre
d'entres, nombre de sorties et nombre de couches), slectionner des fonctions de transfert et enfin
calculer les poids w qui lient les diffrents neurones.
Les poids sont calculs grce une procdure (algorithmes) d'entranement du rseau partir d'entres et
de sorties dj existantes. Une fois ces poids calcule, le rseau pourra tre utilis pour simuler des
rponses d'autres stimuli.
NNET de Matlab
Taper help nnet pour voir les possibilits qu'offre Matlab pour cette technique. Consulter galement le
fichier nnet.pdf pour un cours simple et dtaill avec des exemples d'application. Voir aussi demo toolbox - neural network pour des exemples illustrs.

VII-8- Toolbox Logique Floue


Principe :
La logique floue est un concept introduit par Lotfi Zadeh en 1965 et qui utilise la notion de variables
linguistiques (le problme est donc pos en langage humain). Le concept du floue viole le principe du tiers
exclu d'aristote.
Exemple :

On parlera dans cet exemple de variable linguistique taille et de valeurs linguistiques grand et petit.
Variables floues :
Une variable floue est dcrite donc par une fonction d'appartenance un domaine de sa gamme
dynamique et non pas des valeurs numriques ou des attributs fixes.
Rgles "if then entre" variables floues :
Les relations entre les variables floues se font par des rgles Si Alors (If Then ). Par exemple deux
variables x et y sont relies par la rgle :

37

Aide au Matlab

Mr : M. KIOUS

if x is A then y is B
ou encore si on a d'autres autre variable en jeu.
if (x1 is A1 and x2 is A2) or x3 is A3 then y is B
La logique floue sous Matlab
Le "fuzzy toolbox" de Matlab possde des fonctions qui peuvent tre utilises de faon classique comme
les autres fonctions ou via une interface graphique active par l'instruction fuzzy. L'utilisation du fuzzyGUI de Matlab pour la modlisation de variables floues est organises en plusieurs tapes. D'abord le
choix des fonctions d'appartenance, ensuite l'criture des rgles et enfin la visualisation des rsultats.

Le fichier fuzzy_tb.pdf contient une introduction la thorie des ensembles floues ainsi qu'un exemple
complet sur l'utilisation du GUI pour rsoudre un problme de modlisation avec cette technique. Le demo
- toolbox -fuzzy contient galement des exemples d'utilisation de cette technique.
CONCLUSION
Matlab est un langage de programmation, un logiciel, un monde de fonctions et de techniques. Matlab est
un outil trs simple, trs puissant, trs complet et qui ne ncessite pas une formation spciale pour le
matriser, juste de ne pas hsiter utilise help, naviguer dans demo et consulter les fichiers de
documentation pdf.

38

You might also like