Stéphane BAZEILLE
Le 13 mars 2006
Table des matières
1 Introduction à Matlab 2
1.1 Q'est-ce que MATLAB . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Les variables . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Les opérations matricielle . . . . . . . . . . . . . . . . . . . . 3
1.4 Les variables prédénies . . . . . . . . . . . . . . . . . . . . . 3
1.5 Les fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.6 Conditions et boucles . . . . . . . . . . . . . . . . . . . . . . . 4
1.7 Les entrées sorties . . . . . . . . . . . . . . . . . . . . . . . . 4
1.8 Structure des programmes . . . . . . . . . . . . . . . . . . . . 4
1.9 Les toolboxes . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1
Chapitre 1
Introduction à Matlab
2
1.3 Les opérations matricielle
u ∗ v multiplication matricielle
u + v addition matricielle
u − v soustraction matricielle
u∧ v exponentiation
u. ∗ v multiplication terme a terme u et v
u./v division du tableau u par le tableau v terme à terme.
u.∧ v exponantiation terme à terme.
A\b résolution du système linéaire Ax=b
u0 prend le transposé de u
inv(A) inverse d'une matrice
det(A) déterminant d'une matrice
rank(A) rang d'une matrice.
3
1.6 Conditions et boucles
Les opérateurs logiques &, k et (respectivement ET, OU et NON logique)
opérent sur des quantités booléennes. La valeur booléene faux est codée 0
et la valeur vrai est codée par une valeur non nulle. La structure IF ELSEIF
ELSE permet d'exploiter ces quantités. MATLAB dispose aussi des boucles
FOR et WHILE cependant il est conseillé d'éviter de les utiliser pour des
raisons de performances.
4
Chapitre 2
MATLAB
5
Ecriture d'une image :
fonction imwrite
Achage d'une image :
fonction imshow, imagesc
6
Chapitre 3
Un peu de code. . .
clear;close all;
%Matrice
a=[1 -1;0 1]
b=[1 2;-3 1]
c=[4 -3;1 1]
((a*b)'*1/c)*a
%Matrice inverse
d=[1 3;3 -1];
comd=[-1 -3;-3 1];
comd'*1/det(d)
inv(d)
%Résolution de systeme
a=[3 2 -1 -1;2 -1 -1 1;1 2 -2 1;-1 -1 -3 2];
b=[0;1;3;-4];
a\b
inv(a)*b
%Polynome
%p=x^4-12*x^3+25*x+116
p=[1 -12 0 25 116]
r=roots(p)
sum(r)
7
%Calcul
x=linspace(-15,15,100);
f=x.^5-3*x.^4-11*x.^3+27*x.^2+10*x-24;
df=diff(f)./diff(x);
dx= x(2:length(x));
figure;plot(x,f,dx,df);
%Plot 3D
[x,y] = meshgrid(-3:0.1:3);
z = (x+y).*exp(-(x.^2 + y.^2));
figure;mesh(z);
%Premiere image
b=zeros(100,100);
b(35:65,35:65)=255;
figure;imshow(b);
%Convolution Laplacien
im=imread('cameraman.tif');
im=double(im)/255;
im=imnoise(im,'gaussian',0,0.1);
l=[-1 -1 -1;-1 8 -1;-1 -1 -1];
figure;imshow(im);
imf=conv2(im,l);
figure;imshow(imf);
g=ones(5,5)/25;
%g=[1 1 1;1 1 1;1 1 1]/9;
%g=[1 2 1;2 4 2;1 2 1]/16;
im=conv2(im,g);
figure;imshow(im);
%imf=conv2(im,l);
%figure;imshow(imf);
figure;imshow(ga+gb);
norme=sqrt(ga.^2+gb.^2);
8
coutour=zeros(258,258);
m=mean(mean(norme));
for ii=1:258
for jj=1:258
if(norme(ii,jj)>m)contour(ii,jj)=1;end
end
end
figure;imshow(contour);