COMPTE RENDU
MATLAB
TP1 et TP2
Réaliser par :
Sana ANES
Mariem SAMOUT
Groupe :
II1D
2019/2020
TP1 : Initiation à MATLAB
Exercice 1 :
Image utilisée :
Code
function [ wh,bk ] = traitement_image_2D( x )
img=imread(x);
imshow(img);
[m,n,k]=size(img);
wh=0;
bk=0;
for i= 1:m
for j=1:n
if ((img(i,j,1)>=0 &&img(i,j,1)<=30 )&&(img(i,j,2)>=0
&&img(i,j,2)<=30 )&&(img(i,j,3)>=0 &&img(i,j,3)<=30 ))
bk=bk+1;
else if((img(i,j,1)>=240 &&img(i,j,1)<=255)&&(img(i,j,2)>=240
&&img(i,j,2)<=255)&&(img(i,j,3)>=240 &&img(i,j,3)<=255))
wh=wh+1;
end
end
end
end
end
Exécution
>> [b,n]=traitement_image_2D( 'color.jpg' )
b =
14305
n =
7212
2
Exercice 2 :
Le fichier utilisé :
file.txt
Code :
function [ pt ] = traitement_surface_3D( in )
file=fopen(in);
data= fscanf(file,'%f ',[3 inf]);
fclose(file);
x=data(1,:);
y=data(2,:);
z=data(3,:);
plot3(x,y,z);
x1=mean(x);
y1=mean(y);
z1=mean(z);
pt=[x1,y1,z1];
end
Exécution :
>> traitement_surface_3D( 'file.txt' )
ans =
1.5000 1.5000 1.2903
3
TP2 : Génération des signaux
1.Génération des signaux : Impulsion unité et Echelon unité
1.1. Impulsion unité
Code
n=-10:20;
u=[zeros(1,11),1,zeros(1,19)];
stem(n,u);
xlabel('temps indexé en n');
ylabel('amplitude');
title('Impulsion unité');
axis([-10 20 0 1.2]);
Résultat
1.2. Echelon unité
Code
n=-10:20;
u=[zeros(1,20),ones(1,11)];
stem(n,u);
xlabel('temps indexé en n');
ylabel('amplitude');
title('Echlon unité');
axis([-10 20 0 1.2]);
Résultat
4
2. Génération des signaux périodiques
2.1. Signal sinusoïdal décalé
Code
n=0:49;
f=0.08;
phase=pi/2;
A=2.5;
arg=2*pi*f*n-phase;
x=A*cos(arg);
clf;
stem(n,x);
axis([0 50 -3 3]);
grid;
title('Signal Sinusoidal');
xlabel('temps indexé en n');
ylabel('amplitude');
Résultat
5
2.2. Génération de plusieurs signaux sinusoïdales
𝜋
x(n) = sin (17 𝑛) 0 ≤ 𝑛 ≤ 35
n=0:35;
f=0.0294; %1/(2*17)
phase=0;
A=1;
arg=2*pi*f*n-phase;
x=A*cos(arg);
clf;
stem(n,x);
axis([0 35 -2 2]);
grid;
title('Signal Sinusoidal');
xlabel('temps indexé en n'); ylabel('amplitude');
𝜋
x(n) = sin (17 𝑛) −15 ≤ 𝑛 ≤ 25
n=-15:25;
f=0.0294; %1/(2*17)
6
phase=0;
A=1;
arg=2*pi*f*n-phase;
x=A*cos(arg);
stem(n,x);
axis([-15 25 -2 2]);
grid;
title('Signal Sinusoidal');
xlabel('temps indexé en n');
ylabel('amplitude');
𝜋
x(n) = sin (3𝜋𝑛 + 2 ) −15 ≤ 𝑛 ≤ 15
n=-15:15;
f=1.5;
phase=pi/2;
A=1;
arg=2*pi*f*n-phase;
x=A*cos(arg);
clf;
stem(n,x);
axis([-15 15 -2 2]);
grid;
title('Signal Sinusoidal');
xlabel('temps indexé en n');
ylabel('amplitude');
7
x(n) = sin (√23 𝑛)
𝜋
0 ≤ 𝑛 ≤ 50
n=0:50;
f=0.1043;
phase=0;
A=1;
arg=2*pi*f*n-phase;
x=A*cos(arg);
clf;
stem(n,x);
axis([0 50 -2 2]);
grid;
title('Signal Sinusoidal');
xlabel('temps indexé en n');
ylabel('amplitude');
8
2.3. Génération des signaux triangulaire et rectangulaire
Code
fs=10000;
t=0:1/fs:1.5;
x1=sawtooth(2*pi*50*t);
x2=square(2*pi*50*t);
subplot(211),plot(t,x1),
xlabel('time(sec)');
ylabel('amplitude');
title('Sawtooth Periodic Wave');
subplot(212),plot(t,x2),
xlabel('time(sec)');
ylabel('amplitude');
title('Square Periodic Wave');
Résultat
3. Génération des signaux exponentiels
3.1. Génération d’un signal exponentiel complexe
Code
clf;
c=-(1/12)+(pi/6)*1i;
k=2;
n=0:100;
x=k*exp(c*n);
subplot(2,1,1);
stem(n,real(x));
xlabel('tenps indexé en n');ylabel('amplitude');
title('partie réelle')
subplot(2,1,2);
stem(n, imag(x));
xlabel('temps indexé en n');ylabel('amplitude');
title('partie imaginnaire');
9
Résultat
3.2. Génération d’une séquence exponentielle à valeurs réelles
Code
n=0:35; a=1.2; k=0.2;
x=k*a.^n;
stem(n,x)
xlabel('temps indexé en n');
ylabel('amplitute');
Résultat
4. Génération des signaux aléatoires
Code
t=-2:4/99:2;
x=rand(1,100);
stem(t,x);grid;
xlabel('temps indexé en n');ylabel('amplitute');
10
Résultat
5. Génération des signaux complexes
5.1. Génération d'un signal modulé en amplitude
Code
clf;
n=0:100;
m=0.5;fh=0.08;fl=0.04;
xh=sin(2*pi*fh*n);
xl=sin(2*pi*fl*n);
y=(1+m*xl).*xh;
stem(n,y);
grid;
xlabel('temps indexé en n'); ylabel('amplitude');
Résultat
11
12