Vous êtes sur la page 1sur 30

INSTITUT DE TECHNOLOGIE DU CAMBODGE MATLAB

TP1:
Prise en main de Matlab
Exercice 1: Vecteurs et courbes
π π π
, ,
1. Définir la variable x=
6 4 3[ ]
et calculer y 1=sin(x) et y 2=cos(x).
 Command dans script :
x=[pi/6,pi/4,pi/3]
y1=sin(x)
y2=cos(x)
 Command window :
x=

0.5236 0.7854 1.0472

y1 =

0.5000 0.7071 0.8660

y2 =

0.8660 0.7071 0.5000


Calculer ensuit tan(x) en utilisant exclusivement les vecteurs y 1 et y 2 précédente.
 Command dans script :
tanx=(y1./y2)
 Command window :
tanx =

0.5774 1.0000 1.7321

−π
2. Définir la variable x= [ 4 ]
: 0.01: 4 π . Combien y a-t-il de valeurs dans ce vecteur ?

Illustrer la courbe y= xe−x +sin(x). Calculer la somme des valeurs de y.


 Command dans script :
x=[-pi/4:0.01:4*pi];
nombre_element_dans_ce_vecteur=length(x)

CHEAM VICHNA
HEM KHUNPANHA
1
HENG SOVEASNA
KHANG CHHAIHOK
INSTITUT DE TECHNOLOGIE DU CAMBODGE MATLAB

y=x.*exp(-x)+sin(x) ;
cube_de_y=plot(x,y,'b-')
title('Coupe y= xexp(-x)+sin(x)')
somme_de_y=sum(y)

 Command window :
nombre_element_dans_ce_vecteur =

1336

somme_de_y =

16.5556

3. Faire l’intégrale symbolique de la fonction précédente y= xe−x +sin(x).

CHEAM VICHNA
HEM KHUNPANHA
2
HENG SOVEASNA
KHANG CHHAIHOK
INSTITUT DE TECHNOLOGIE DU CAMBODGE MATLAB

 Command dans script :


syms x
y=x*exp(-x)+sin(x) ;
pretty(y)
Integral_de_y=int(y)

 Command window :

sin(x) + x exp(-x)

Integral_de_y =

- exp(-x) - cos(x) - x*exp(-x)

4. On considère les vecteur suivants :


1 −5 −1
() ( )
u= 2 , v= 2 et w= −3
3 1 7( )
a. Calculer t=u+3v-5w

 Command dans script :

u=[1;2;3];
v=[-5;2;1];
w=[-1;-3;7];
t=u+3*v-5*w

 Command window :

t=

-9
23
-29
b. Calculer ║u║,║v║,║w║

 Command dans script :


norm_de_u=norm(u)

CHEAM VICHNA
HEM KHUNPANHA
3
HENG SOVEASNA
KHANG CHHAIHOK
INSTITUT DE TECHNOLOGIE DU CAMBODGE MATLAB

norm_de_v=norm(v)
norm_de_w=norm(w)

 Command window :
norm_de_u =

3.7417

norm_de_v =

5.4772

norm_de_w =

7.6811
5. Calculer 100 ! par deux méthodes en utilisant (1) la commande <<cumprod>> et (2) la
commande <<for>> :

 Première méthode (par cumprod)

 Command dans script :


x=[1:100];
y=cumprod(x);
hundred_factorial=y(end)
 Command window :
hundred_factorial =

9.3326e+157
 Deuxième méthode (par commande for)

 Command dans script :

n=100
for i=1:(n-1)
n=(n*i)
end

 Command window :

CHEAM VICHNA
HEM KHUNPANHA
4
HENG SOVEASNA
KHANG CHHAIHOK
INSTITUT DE TECHNOLOGIE DU CAMBODGE MATLAB

n =

9.3326e+157

Exercice 2: Manipulation de matrices


1. Définir le vecteurs U=[ 12 … 14 15 ]. Quelle est la taille de ce vecteur ?

 Command dans script :

U=[1:15];
Taille_de_ce_vecteur=size(U)

 Command window :

Taille_de_ce_vecteur =

1 15
 Définir le vecteur V contenant les cinq premiers et les cinq derniers éléments de
U.

 Command dans script :

V=[U(1:5) U(11:end)]

 Command window :

V =

1 2 3 4 5 11 12 13 14 15

1 15 1 1 1
 Définir ensuite le vecteur W= [ 2
1…7
2] [
2 14 15 ]
et le vecteur W= 1 2 … 2 2 , tous

à partir du vecteur U.

 Command dans script :


W=[U/2]
X=[1./(U.*U)]

CHEAM VICHNA
HEM KHUNPANHA
5
HENG SOVEASNA
KHANG CHHAIHOK
INSTITUT DE TECHNOLOGIE DU CAMBODGE MATLAB

 Command window :

W =

Columns 1 through 13

0.5000 1.0000 1.5000 2.0000 2.5000


3.0000 3.5000 4.0000 4.5000 5.0000
5.5000 6.0000 6.5000

Columns 14 through 15

7.0000 7.5000

X =

Columns 1 through 13

1.0000 0.2500 0.1111 0.0625 0.0400


0.0278 0.0204 0.0156 0.0123 0.0100
0.0083 0.0069 0.0059

Columns 14 through 15

0.0051 0.0044

1 2 3 4 5 6 7 8 9 10

[ ]
2. Définir la matrice M= 11 12 13 14 15 16 17 18 19 20 et sont ses dimensions m

x n.
21 22 23 24 25 26 27 28 29 30

 Command dans script :


M=[1:10;11:20;21:30]
[m n]= size(M)

 Command window :

M =

CHEAM VICHNA
HEM KHUNPANHA
6
HENG SOVEASNA
KHANG CHHAIHOK
INSTITUT DE TECHNOLOGIE DU CAMBODGE MATLAB

1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30

m =

n =

10
1 2

[ ]
Extraire la matrice N= 11 12 et la matrice P=

matrice M.
21 22
3 7
[
23 27 ]
en prenant dans la

 Command dans script :

N=M([1:3],[1:2])
P=M([1 3],[3 7])

 Command window :

N =

1 2
11 12
21 22

P =

3 7
23 27

 Trouver la matrice Q en prenant dans la matrice M une colonne sur 2.

 Command dans script :

CHEAM VICHNA
HEM KHUNPANHA
7
HENG SOVEASNA
KHANG CHHAIHOK
INSTITUT DE TECHNOLOGIE DU CAMBODGE MATLAB

Q=M(:,2)

 Command window :
Q =

2
12
22

3. Définir une matrice A de dimension 4 x 4 à l’aide de la commande magic.

 Command dans script :


A=magic(4)

 Command window :

A =

16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
 Déterminer la matrice B=A/15 ,trouver le nombre dans cette matrice B qui sont
compris entre 0.4 et 0.8 et ses positions.

 Command dans script :

B=A/15
Nombre=sum(sum(B>0.4&B<0.8))
Ils_sont_situer=B>0.4&B<0.8

 Command window :

B =

1.0667 0.1333 0.2000 0.8667


0.3333 0.7333 0.6667 0.5333
0.6000 0.4667 0.4000 0.8000
0.2667 0.9333 1.0000 0.0667

CHEAM VICHNA
HEM KHUNPANHA
8
HENG SOVEASNA
KHANG CHHAIHOK
INSTITUT DE TECHNOLOGIE DU CAMBODGE MATLAB

Nombre =

Ils_sont_situer =

4×4 logical array

0 0 0 0
0 1 1 1
1 1 0 0
0 0 0 0
 Construire alors la matrice C obtenue à partir de la matrice B en remplaçant tous
les nombres de B inférieurs à 0.8 par 0, et ceux supérieurs ou égaux à 0.8 par 1.

 Command dans script :


C=B>=0.8
[rows,columns]=find(C)

 Command window :

C =

4×4 logical array

1 0 0 1
0 0 0 0
0 0 0 1
0 1 1 0

rows =

1
4
4
1
3

CHEAM VICHNA
HEM KHUNPANHA
9
HENG SOVEASNA
KHANG CHHAIHOK
INSTITUT DE TECHNOLOGIE DU CAMBODGE MATLAB

columns =

1
2
3
4
4

4. Résoudre le système d’équation linéaire ci-dessous par deux approches possible :


x+ y =14, y+z= 10, x-y= 4, z-t= 1

 Command dans script :

A=[14;10;4;1];
B=[1 1 0 0;0 1 1 0;1 -1 0 0;0 0 1 -1];
M=B^-1*A;
x=M(1)
y=M(2)
z=M(3)
t=M(4)

 Command window :

x =

y =

z =

t =

CHEAM VICHNA
HEM KHUNPANHA
10
HENG SOVEASNA
KHANG CHHAIHOK
INSTITUT DE TECHNOLOGIE DU CAMBODGE MATLAB

4
Vérifier ces résultats pour chaque approache.

 Command dans script :

x+y
y+z
x-y
z-t

 Command window :

ans =

14

ans =

10

ans =

ans =

Exercice 3: Fonctions graphiques


1. Graphiques 2D :
a. Créer un vecteur temps t (t en secondes) allant de 0 à 10 avec 11 points.

 Command dans script :


t=linspace(0,10,11)
 Command window :

CHEAM VICHNA
HEM KHUNPANHA
11
HENG SOVEASNA
KHANG CHHAIHOK
INSTITUT DE TECHNOLOGIE DU CAMBODGE MATLAB

t=

0 1 2 3 4 5 6 7 8 9 10

b. Créer un signal s1(t)=1-e−t puis l’afficher en fonction du temps.

 Command dans script :


t=linspace(0,10,11)
s1=1-exp(-t)
plot(t,s1)
 Command window :
s1 =

0 0.6321 0.8647 0.9502 0.9817 0.9933


0.9975 0.9991 0.9997 0.9999 1.0000

CHEAM VICHNA
HEM KHUNPANHA
12
HENG SOVEASNA
KHANG CHHAIHOK
INSTITUT DE TECHNOLOGIE DU CAMBODGE MATLAB

c. Créer deux autres signaux définis par s2(t)=1-e−2 t et s3(t)=1-e−4 t, puis les afficher
dans la même figure.

 Command dans script :


t=linspace(0,10,11);
s1=1-exp(-t);
s2=1-exp(-2*t)
s3=1-exp(-4*t)
plot(t,s1,t,s2,t,s3)

 Command window :

s2 =

CHEAM VICHNA
HEM KHUNPANHA
13
HENG SOVEASNA
KHANG CHHAIHOK
INSTITUT DE TECHNOLOGIE DU CAMBODGE MATLAB

Columns 1 through 3

0 0.8647 0.9817

Columns 4 through 6

0.9975 0.9997 1.0000

Columns 7 through 9

1.0000 1.0000 1.0000

Columns 10 through 11

1.0000 1.0000

s3 =

Columns 1 through 3

0 0.9817 0.9997

Columns 4 through 6

1.0000 1.0000 1.0000

Columns 7 through 9

1.0000 1.0000 1.0000

Columns 10 through 11

1.1 1.0000

CHEAM VICHNA
HEM KHUNPANHA
14
HENG SOVEASNA
KHANG CHHAIHOK
INSTITUT DE TECHNOLOGIE DU CAMBODGE MATLAB

d. Faire les modifications pour afficher ces 3 signaux respectivement en bleu, en rouge
et en vert avec des couleurs des astérisques (*), des croix et des points aux différentes
valeurs constituant les 3 signaux. Ajouter une légende à vos courbes et les titre
correspondant à l'axe d'abscisse et l’axe d’ordonnée.

 Command dans script :


t=linspace(0,10,11);
s1=1-exp(-t);
s2=1-exp(-2*t);
s3=1-exp(-4*t);
plot(t,s1,'b*',t,s2,'rx',t,s3,'g.')
title('Graph de signaux en fonction du temps')
xlabel('t')
ylabel('s1 s2 s3')

CHEAM VICHNA
HEM KHUNPANHA
15
HENG SOVEASNA
KHANG CHHAIHOK
INSTITUT DE TECHNOLOGIE DU CAMBODGE MATLAB

legend('s1=1-exp(-t)','s2=1-exp(-2*t)','s3=1-exp(-
4*t)')

 Command window :

e. On souhaite maintenant changer la variable temporelle et la définir avec 10 fois plus


de points. Faire les modifications nécessaires.

 Command dans script :


t=linspace(0,10,11*10)

 Command window :

t =

CHEAM VICHNA
HEM KHUNPANHA
16
HENG SOVEASNA
KHANG CHHAIHOK
INSTITUT DE TECHNOLOGIE DU CAMBODGE MATLAB

Columns 1 through 6

0 0.0917 0.1835 0.2752 0.3670


0.4587

Columns 7 through 12

0.5505 0.6422 0.7339 0.8257 0.9174


1.0092

Columns 13 through 18

1.1009 1.1927 1.2844 1.3761 1.4679


1.5596

Columns 19 through 24

1.6514 1.7431 1.8349 1.9266 2.0183


2.1101

Columns 25 through 30

2.2018 2.2936 2.3853 2.4771 2.5688


2.6606

Columns 31 through 36

2.7523 2.8440 2.9358 3.0275 3.1193


3.2110

Columns 37 through 42

3.3028 3.3945 3.4862 3.5780 3.6697


3.7615

Columns 43 through 48

3.8532 3.9450 4.0367 4.1284 4.2202


4.3119

CHEAM VICHNA
HEM KHUNPANHA
17
HENG SOVEASNA
KHANG CHHAIHOK
INSTITUT DE TECHNOLOGIE DU CAMBODGE MATLAB

Columns 49 through 54

4.4037 4.4954 4.5872 4.6789 4.7706


4.8624

Columns 55 through 60

4.9541 5.0459 5.1376 5.2294 5.3211


5.4128

Columns 61 through 66

5.5046 5.5963 5.6881 5.7798 5.8716


5.9633

Columns 67 through 72

6.0550 6.1468 6.2385 6.3303 6.4220


6.5138

Columns 73 through 78

6.6055 6.6972 6.7890 6.8807 6.9725


7.0642

Columns 79 through 84

7.1560 7.2477 7.3394 7.4312 7.5229


7.6147

Columns 85 through 90

7.7064 7.7982 7.8899 7.9817 8.0734


8.1651

Columns 91 through 96

8.2569 8.3486 8.4404 8.5321 8.6239


8.7156

CHEAM VICHNA
HEM KHUNPANHA
18
HENG SOVEASNA
KHANG CHHAIHOK
INSTITUT DE TECHNOLOGIE DU CAMBODGE MATLAB

Columns 97 through 102

8.8073 8.8991 8.9908 9.0826 9.1743


9.2661

Columns 103 through 108

9.3578 9.4495 9.5413 9.6330 9.7248


9.8165

Columns 109 through 110

9.9083 10.0000

f. Afficher ces trois signaux dans un même figure, mais cette fois-ci dans 3 graphiques
séparés sur deux lignes, dont 2 graphiques en haut et 1 graphique en bas(figure 0).

 Command dans script :


t=linspace(0,10,11*10);
figure
subplot(2,2,1)
s1=1-exp(-t);
plot(t,s1,'b*')
title('Graph de signal s1')
xlabel('t')
ylabel('s1')
legend('s1=1-exp(-t)')
subplot(2,2,2)
s2=1-exp(-2*t);
plot(t,s2,'rx')
title('Graph de signal s2')
xlabel('t')
ylabel('s2')
legend('s2=1-exp(-2*t)')
subplot(2,2,[3 4])
s3=1-exp(-4*t);
plot(t,s3,'g.')
title('Graph de signal s3')
xlabel('t')
ylabel('s3')

CHEAM VICHNA
HEM KHUNPANHA
19
HENG SOVEASNA
KHANG CHHAIHOK
INSTITUT DE TECHNOLOGIE DU CAMBODGE MATLAB

legend('s3=1-exp(-4*t)')

 Command window :

g. Ajouter maintenant dans le troisième graphique une hamonique de pulsation ω =3


rad/s. d’amplitude crête égale à 3, et de composante continue 0,5(avec titre,
couleur,etc.). Rappel : forme générale d’une harmonique x(t)=Acos(ω t+ϕ).

 Command dans script :


t=linspace(0,10,11*10);
figure
subplot(2,2,1)
s1=1-exp(-t);
plot(t,s1,'b*')
title('Graph de signal s1')
xlabel('t')

CHEAM VICHNA
HEM KHUNPANHA
20
HENG SOVEASNA
KHANG CHHAIHOK
INSTITUT DE TECHNOLOGIE DU CAMBODGE MATLAB

ylabel('s1')
legend('s1=1-exp(-t)')
subplot(2,2,2)
s2=1-exp(-2*t);
plot(t,s2,'rx')
title('Graph de signal s2')
xlabel('t')
ylabel('s2')
legend('s2=1-exp(-2*t)')
subplot(2,2,[3 4])
s3=1-exp(-4*t);
plot(t,s3,'g.')
title('Graph de signal s3')
xlabel('t')
ylabel('s3 et x')
hold on
w=3;
A=1.5;
phi=0.5;
x=A*cos(w*t+phi);
plot(t,x,'k:')
title('Graph s3 et Haemonique')
legend('s3=1-exp(-4*t)','x=1.5(3t+0.5)')

 Command window :

CHEAM VICHNA
HEM KHUNPANHA
21
HENG SOVEASNA
KHANG CHHAIHOK
INSTITUT DE TECHNOLOGIE DU CAMBODGE MATLAB

2. Graphiques 3D :
Illustrer, dans un même graphique, les surfaces des deux fonctions suivantes :
z 1=sin(r)/r, where r=√ x 2+ y 2 (chapeau Mexicain) et z 2=x-y+50
Mettre également les titres pour les trois axes.
 Pour z1 (chapeau mexicain)

 Command dans script :


X=-10:0.5:10;
Y=X;
[y x]=meshgrid(X,Y)
r=sqrt(x.^2+y.^2);
z1=sin(r)./r;
surf(x,y,z1)

 Command window :

CHEAM VICHNA
HEM KHUNPANHA
22
HENG SOVEASNA
KHANG CHHAIHOK
INSTITUT DE TECHNOLOGIE DU CAMBODGE MATLAB

Pour z1 et z2 dans la même graphique


 Command dans script :
X=-10:0.5:10;
Y=X;
[y x]=meshgrid(X,Y)
r=sqrt(x.^2+y.^2);
z1=sin(r)./r;
surf(x,y,z1)
hold on
X=-10:0.5:10;
Y=X;

CHEAM VICHNA
HEM KHUNPANHA
23
HENG SOVEASNA
KHANG CHHAIHOK
INSTITUT DE TECHNOLOGIE DU CAMBODGE MATLAB

[y x]=meshgrid(X,Y)
z2=x-y+50;
surf(x,y,z2)
xlabel('x')
ylabel('y')
zlabel('z')
title('Graphique en 3D')
 Command window :

CHEAM VICHNA
HEM KHUNPANHA
24
HENG SOVEASNA
KHANG CHHAIHOK
INSTITUT DE TECHNOLOGIE DU CAMBODGE MATLAB

Exercice 4: Manipulation des nombres complexes


On a les nombres complexes u=11-7i et v=-1+√ 3 i. Créer des variable correspondant et
calculer les modules et les arguments de u et v ainsi que les parties réelle et imaginaire de u3+ v3
en utilisant les commandes appropriées.
 Command dans script :
u=complex(11,-7)
v=complex(-1,sqrt(3))
module_de_u=abs(u)
module_de_v=abs(v)
argument_de_u=angle(u)
argument_de_v=angle(v)
t=u^3+v^2
real_number_of_t=real(t)
image_de_t=imag(t)

 Command window :

u =

11.0000 - 7.0000i

v =

-1.0000 + 1.7321i

module_de_u =

13.0384

CHEAM VICHNA
HEM KHUNPANHA
25
HENG SOVEASNA
KHANG CHHAIHOK
INSTITUT DE TECHNOLOGIE DU CAMBODGE MATLAB

module_de_v =

2.0000

argument_de_u =

-0.5667

argument_de_v =

2.0944

t =

-2.8800e+02 - 2.2015e+03i

real_number_of_t =

-288

CHEAM VICHNA
HEM KHUNPANHA
26
HENG SOVEASNA
KHANG CHHAIHOK
INSTITUT DE TECHNOLOGIE DU CAMBODGE MATLAB

image_de_t =

-2.2015e+03

Exercice 5: Ecriture des fonctions


1. Créer une fonction pour convertir l’unité de vitesse de km/h en m/s, et une autre
fonction pour convertir l’unité de vitesse de m/s en km/h.
On suppose kh=km/h et ms=m/s
 Km/h à m/s
 Command dans fonction :

function [ kh ] = km_par_h_to_m_par_s( ms )
kh=(10/36)*ms
end

 Command dans script :


kh= km_par_h_to_m_par_s(72)

 Command window :
kh =

20

 m/s à km/h
 Command dans fonction :
function [ ms ] = m_par_s_to_km_par_h( kh )
ms=3.6*kh
end

 Command dans script :


ms= m_par_s_to_km_par_h(20)

 Command window :
ms =

72

CHEAM VICHNA
HEM KHUNPANHA
27
HENG SOVEASNA
KHANG CHHAIHOK
INSTITUT DE TECHNOLOGIE DU CAMBODGE MATLAB

2. Ecrire une function nommée polaire, pregnant comme arguments d’entrée les
coordonnées cartésiennes (x,y) d’un point et renvoyant en soortie les coordonnées
polaires (r,θ) de ce point, où θ est en degré. Penser à commenter le code de manière
qu’un utilisateur puisse utiliser l’aide en ligne pour s’informer sur cette nouvelle
fonction.

 Command dans fonction :


function [ r,telta ] = Polaire( x,y )
r=sqrt(x^2+y^2)
telta=atand(y/x)
end

3. a. Calculer les coordonnées polaire pour A1(43,3;25) et A2(65,78 ;23,94)

 Command dans script :


[r1,telta1]=Polaire(43.3,25)
[r2,telta2]=Polaire(65.78,23.94)

 Command window :
r1 =

49.9989

telta1 =

30.0007

r2 =

70.0009

CHEAM VICHNA
HEM KHUNPANHA
28
HENG SOVEASNA
KHANG CHHAIHOK
INSTITUT DE TECHNOLOGIE DU CAMBODGE MATLAB

telta2 =

19.9985
b. Illustrer graphiquement ces deux points en coordonnées polaire avec le couleur bleu
et le symbole astérisque(*).
 Command dans script :
[r1,telta1]=Polaire(43.3,25);
[r2,telta2]=Polaire(65.78,23.94);
polar([telta1,telta2],[r1,r2],'b*')

 Command window :

CHEAM VICHNA
HEM KHUNPANHA
29
HENG SOVEASNA
KHANG CHHAIHOK
INSTITUT DE TECHNOLOGIE DU CAMBODGE MATLAB

OA 1 et ⃗
b. Calculer l’angle α formé par les vecteurs ⃗ OA 2, où 0(o,o) est le point
d’origine des axes polaires.

 Command dans script :

[r1,telta1]=Polaire(43.3,25);
[r2,telta2]=Polaire(65.78,23.94);
alfa=atand(abs(telta1-telta2)/abs(r1-r2))

 Command window :
alfa =

26.5678

CHEAM VICHNA
HEM KHUNPANHA
30
HENG SOVEASNA
KHANG CHHAIHOK