Institut de Technologie du Cambodge
&
Faculté de Génie Civil
MATLAB
TP1
Prise en Main de Matlab
Professor: Dr. Keang Sè POUV
NAME ID GROUP
SAN CHANDARA e20190939 I3GCI-4
SAN RAKSA e20190942 I3GCI-4
SEAK KHEMARA e20190966 I3GCI-4
SORN CHHANNY e20191068 I3GCI-4
SORN HOEURN e20191069 I3GCI-4
SAY KIMSUNG e20190959 I3GCI-4
2022-2023
Contents
1. Exercice 1 : Vecteurs et courbes .......................................................................................................1
1.1. Exercice 1 ...................................................................................................................................1
1.2. Exercice 2 ...................................................................................................................................1
1.3. Exercice 3 ...................................................................................................................................3
1.4. Exercice 4 ...................................................................................................................................3
1.4.1. Calculer 𝑡 = 𝑢 + 3𝑣 − 5𝑤 .................................................................................................3
1.4.2. Calculer 𝑢, 𝑣, |𝑤|, ................................................................................................................3
2. Exercice 2 : Manipulation de matrices ..............................................................................................4
2.1. Exercice 1 ...................................................................................................................................4
2.2. Exercice 2 ...................................................................................................................................5
2.3. Exercice 3 ...................................................................................................................................6
2.4. Exercice 4 ...................................................................................................................................7
3. Exercice 3 : Fonctions graphiques ....................................................................................................8
3.1. Exercice 1 ...................................................................................................................................8
3.2. Exercice 2 .................................................................................................................................15
4. Exercice 4 : Manipulation des nombres complexes ........................................................................16
5. Exercice 5 : Ecriture des fonctions .................................................................................................17
5.1. Exercice 1 .................................................................................................................................17
5.2. Exercice 2 .................................................................................................................................18
a. A1(43.3 ; 25) et A2(65.78 ; 23.94). ..........................................................................................18
b. Illustrer graphiquement ces deux points en coordonnées polaires .......................................18
c. L’angle α formé par les vecteurs 𝑂𝐴1 et 𝑂𝐴2 , où O (0 ; 0)....................................................19
d. 𝑡 = d/tan2(𝛼) ......................................................................................................................20
e. Ecrire t (cm)..............................................................................................................................21
ITC Matlab
TP1 Prise en main de Matlab
1. Exercice 1 : Vecteurs et courbes
[Link] 1
𝜋 𝜋 𝜋
Définir la variable 𝑥 = [ , , ] et calculer 𝐲𝟏 = 𝐬𝐢𝐧(𝐱) et 𝐲𝟐 = 𝐜𝐨𝐬(𝐱). Calculer ensuite
6 4 3
tan(x) en utilisant exclusivement les vecteurs y1 et y2 précédents.
Réponse
▪ SCRIPT
x = [pi/6 , pi/4 , pi/3] ;
y1 = sin(x)
y2 = cos(x)
tan_x = y1./y2
▪ WINDOW
y1 =
0.5000 0.7071 0.8660
y2 =
0.8660 0.7071 0.5000
tan_x =
0.5774 1.0000 1.7321
[Link] 2
𝜋
Définir la variable 𝑥 = [− 4 : 0.01: 4𝜋] Combien y a-t-il de valeurs dans ce vecteur ? Illustrer
la courbe 𝑦 = 𝑥𝑒 −𝑥 + sin (𝑥) Calculer la somme des valeurs de y.
Réponse
▪ SCRIPT
x = [-pi./4:0.01:4.*pi];
Nombre_de_vecteur=length(x);
y = x.*exp(-x)+sin(x);
Courbe = plot(x,y,'ro');
la_somme_des_valeurs_de_y = sum(y)
title('courbe de $y$','interpreter', 'latex')
xlabel('$x$','interpreter', 'latex')
ylabel('$y(x)$','interpreter', 'latex')
legend( '$y(x)$','interpreter', 'latex')
I3-GCI4 Page 1 of 22
ITC Matlab
▪ WINDOW
>> x =
Columns 1 through 9
-0.7854 -0.7754 -0.7654 -0.7554 -0.7454 -
0.7354 -0.7254 -0.7154 -0.7054
.
.
.
Columns 1,333 through 1,336
12.5346 12.5446 12.5546 12.5646
>> Nombre_de_vecteur =
1336
>> y =
Columns 1 through 9
-2.4297 -2.3837 -2.3383 -2.2934 -2.2490 -
2.2052 - 2.1618 -2.1189 -2.0765
.
.
.
Columns 1,333 through 1,336
-0.0317 -0.0217 -0.0117 -0.0017
>> sum(y)
ans =
16.5556
I3-GCI4 Page 2 of 22
ITC Matlab
[Link] 3
Faire l’intégrale symbolique de la fonction précédente 𝑦 = 𝑥𝑒 −𝑥 + sin (𝑥)
▪ SCRIPT
syms x;
y=x.*exp(-x)+sin(x);
I = int(y);
▪ WINDOW
I =
- exp(-x) - cos(x) - x*exp(-x)
[Link] 4
On considère les vecteurs suivants :
1 −5 −1
𝑢 = [2] , 𝑣 = [ 2 ] , 𝑤 = [−3]
3 1 7
1.4.1. Calculer 𝑡 = 𝑢 + 3𝑣 − 5𝑤
▪ SCRIPT
u = [1;2;3];
v = [-5;2;1];
w = [-1;-3;7];
t = u+3.*v-5.*w;
▪ WINDOW
t =
-9
23
-29
1.4.2. Calculer |𝑢|, |𝑣|, |𝑤|,
Le cosinus de l’angle α formé par les vecteurs u et v, et α en degré
▪ SCRIPT
u = [1;2;3];
v = [-5;2;1];
w = [-1;-3;7];
Norm_u = norm(u)
Norm_v = norm(v)
Norm_w = norm(w)
a_deg = (acos((dot(u,v))/(norm(u).*norm(v))))*(180./pi)
I3-GCI4 Page 3 of 22
ITC Matlab
▪ WINDOW
>> Norm_u = norm(u)
Norm_u =
3.7417
>> Norm_v = norm(v)
Norm_v =
5.4772
>> Norm_w = norm(w)
Norm_w =
7.6811
a_deg =
84.3996
2. Exercice 2 : Manipulation de matrices
[Link] 1
Définir le vecteur 𝑣 = [0 1 2 … 49 50]
▪ SCRIPT
v = [Link];
Size_v = size(v);
W = v(1,[1:5,46:51]);
Z = v(1,[Link]);
▪ WINDOW
>> v =
0 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 31 32
33 34 35 36 37 38 39 40 41 42 43
44 45 46 47 48 49 50
>> Size_v =
1 51
>> W =
0 1 2 3 4 45 46 47 48 49 50
>> Z =
0 2 4 6 8 10 12 14 16 18 20
22 24 26 28 30 32 34 36 38 40 42
44 46 48 50
I3-GCI4 Page 4 of 22
ITC Matlab
[Link] 2
1 … 10
Définir la matrice 𝑀 = [11 … 20], Quels sont ses dimensions m x n ? Extraire de cette
21 … 30
1 2
3 7
matrice. La matrice 𝑁 = [11 12] et 𝑃 = [ ]
23 27
21 22
▪ SCRIPT
M = [1:10;11:20;21:30];
[row,coloum] = size(M) N = M(1:3,[1:2]);
P = M([1 3],[3 7]);
Q = M(:,2)
NP = N*P;
NtQ = transpose(N)*Q;
NQ = N*Q
▪ WINDOW
>> M =
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
>> row = 3
>> coloum =10
>> N =
1 2
11 12
21 22
>> P =
3 7
23 27
>> Q =
2
12
22
>> NP =
49 61
309 401
569 741
>> NtQ =
596
632
I3-GCI4 Page 5 of 22
ITC Matlab
>> NQ = N*Q (Le nombre de colonnes dans la matrice N n'est
pas égal au nombre de lignes dans la matrice Q donc, ce n'est
pas multiple)
[Link] 3
Définir une matrice A de dimensions 4 x 4 à l’aide de la commande magic.
Déterminer la matrice B = A/15. Combien de nombres dans cette matrice B sont compris entre
0.4 et 0.8 ? Ou sont-ils situés ? (Commande find) 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.
▪ SCRIPT
A = magic(4)
B = A./15
Nombre_de_B = sum(sum(B > 0.4 & B < 0.8))
situer_de_B = B > 0.4 & B < 0.8
c = B >= 0.8
[R,C] = find(c)
▪ WINDOW
>> A =
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
>> 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
>> Nombre_de_B = 5
>> situer_de_B =
4×4 logical array
0 0 0 0
0 1 1 1
1 1 0 0
0 0 0 0
I3-GCI4 Page 6 of 22
ITC Matlab
>> c =
4×4 logical array
1 0 0 1
0 0 0 0
0 0 0 1
0 1 1 0
R =
1
4
4
1
3
C =
1
2
3
4
4
[Link] 4
Résoudre le système d’équation linéaire ci-dessous :
𝑥 + 𝑦 = 14
𝑥 + 𝑧 = 10
𝑥−𝑦 =4
𝑧−𝑡 =1
▪ SCRIPT
syms x y z t
eq1 = x + y == 14;
eq2 = x + z == 10;
eq3 = x - y == 4;
eq4 = z - t == 1;
[A,B] = equationsToMatrix([eq1, eq2, eq3, eq4], [x, y, z t])
X = linsolve(A,B)
I3-GCI4 Page 7 of 22
ITC Matlab
▪ WINDOW
>> A =
[1, 1, 0, 0]
[1, 0, 1, 0]
[1, -1, 0, 0]
[0, 0, 1, -1]
>> B =
14
10
4
1
>>X =
9
5
1
0
Donc x = 9 ; y = 5 ; z = 1 ; t = 0
3. Exercice 3 : Fonctions graphiques
[Link] 1
Graphiques 2D :
a. Créer un vecteur temps t (t en secondes) allant de 0 à 10 avec 11 points.
▪ SCRIPT
t = linspace(0,10,11);
▪ WINDOW
t =
0 1 2 3 4 5 6 7 8 9 10
b. Créer un signal 𝑆1 (𝑡) = 1 − 𝑒 −𝑡 puis l’afficher en fonction du temps.
▪ SCRIPT
t = linspace(0,10,11);
s1 = 1 - exp(-t);
plot(t,s1)
title('function of time','interpreter', 'latex')
xlabel('t','interpreter', 'latex')
ylabel('$s_1$','interpreter', 'latex')
legend( '$s_1 = 1 - exp(-t)$','interpreter', 'latex')
I3-GCI4 Page 8 of 22
ITC Matlab
▪ WINDOW
s1 =
0 0.6321 0.8647 0.9502 0.9817 0.9933
0.9975 0.9991 0.9997 0.9999 1.0000
c. Créer deux autres signaux définis par 𝑆2 (𝑡) = 1 − 𝑒 −2𝑡 et 𝑆3 (𝑡) = 1 − 𝑒 −4𝑡 , puis les
afficher dans la même figure.
▪ SCRIPT
t = linspace(0,10,11);
s2 = 1 - exp(-2*t);
plot(t,s2)
title('function of time t')
t = linspace(0,10,11);
s2 = 1 - exp(-2*t);
plot(t,s2)
hold on
s3 = 1 - exp(-4*t);
plot(t,s3)
hold off
title('function of time','interpreter', 'latex')
xlabel('t','interpreter', 'latex')
ylabel('$s_2,s_3$','interpreter', 'latex')
legend( '$s_2 = 1 - e^{-t}$','$s_3 = 1 - e^{-
4t}$','interpreter', 'latex')
I3-GCI4 Page 9 of 22
ITC Matlab
▪ WINDOW
d. Faire les modifications pour afficher ces 3 signaux respectivement en bleu, en rouge et en
vert. Faire apparaître en plus 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 titres
correspondant à l’axe d’abscisse et l’axe d’ordonnée.
▪ SCRIPT
t = linspace(0,10,11);
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,'ro',t,s3,'gx')
title('Fonctions graphiques','interpreter', 'latex')
xlabel('t','interpreter', 'latex')
ylabel('$s_1,s_2,s_3$','interpreter', 'latex')
legend( '$s_1 = 1 - e^{-t}$','$s_2 = 1 - e^{-2t}$','$s_3 =
1 - e^{-4t}$','interpreter', 'latex')
I3-GCI4 Page 10 of 22
ITC Matlab
▪ WINDOW
e. On souhaite maintenant changer la variable temporelle et la définir avec 10 fois plus de
points. Faire les modifications nécessaires.
▪ SCRIPT
t = linspace(0,10,110);
▪ WINDOW
>> t =
0 0.0917 0.1835 0.2752 0.3670 0.4587
0.5505 0.6422 0.7339 0.8257 0.9174 1.0092
1.1009 1.1927 1.2844 1.3761 1.4679 1.5596
…
9.5413 9.6330 9.7248 9.8165 9.9083 10.0000
I3-GCI4 Page 11 of 22
ITC Matlab
f. Afficher ces trois signaux dans une 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). Les
propriétés des courbes sont les mêmes que celles du premier cas.
Graphique 1 Graphique 2
Graphique 3
Figure 0. Format de l’illustration pour la question f.
▪ SCRIPT
t = linspace(0,10,110);
figure
subplot(2,2,1)
s1 = 1 - exp(-t);
plot(t,s1,'b*')
title('$signal S_1$','interpreter', 'latex')
xlabel('$t$','interpreter', 'latex')
ylabel('$s_1(t)$','interpreter', 'latex')
legend( '$s_1$','interpreter', 'latex')
subplot(2,2,2)
s2 = 1 - exp(-2*t);
plot(t,s2,'ro')
title('$signal S_2$','interpreter', 'latex')
xlabel('$t$','interpreter', 'latex')
ylabel('$s_2(t)$','interpreter', 'latex')
legend( '$s_2$','interpreter', 'latex')
subplot(2,2,[3 4])
s3 = 1 - exp(-4*t);
plot(t,s3,'gx')
title('$signal S_3$','interpreter', 'latex')
xlabel('$t$','interpreter', 'latex')
ylabel('$s_3(t)$','interpreter', 'latex')
legend( '$s_3$','interpreter', 'latex')
sgtitle('Figure0','interpreter', 'latex')
I3-GCI4 Page 12 of 22
ITC Matlab
▪ WINDOW
g. Ajouter maintenant dans le troisième graphique une harmonique de pulsation ω = 3 rad/s,
d’amplitude crête à 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 +) .
I3-GCI4 Page 13 of 22
ITC Matlab
▪ SCRIPT
t = linspace(0,10,110);
figure
subplot(2,2,1)
s1 = 1 - exp(-t);
plot(t,s1,'b*')
title('$S_1$','interpreter', 'latex')
xlabel('$t$','interpreter', 'latex')
ylabel('$s_1(t)$','interpreter', 'latex')
legend( '$s_1$','interpreter', 'latex')
subplot(2,2,2)
s2 = 1 - exp(-2*t);
plot(t,s2,'ro')
title('$S_2$','interpreter', 'latex')
xlabel('$t$','interpreter', 'latex')
ylabel('$s_2(t)$','interpreter', 'latex')
legend( '$s_2$','interpreter', 'latex')
subplot(2,2,[3 4])
s3 = 1 - exp(-4*t);
plot(t,s3,'gx')
title('$S_3 \& x(t)$','interpreter', 'latex')
xlabel('$t$','interpreter', 'latex')
ylabel('$s_3(t),x(t)$','interpreter', 'latex')
legend( '$s_3','interpreter', 'latex')
sgtitle('Figure0','interpreter', 'latex')
hold on
w = 3;
Q = 0.5
A = 3/2
x = A.*cos(w.*t+Q)
plot(t,x)
legend('$s_3$','$x(t)$','interpreter','latex')
hold off
I3-GCI4 Page 14 of 22
ITC Matlab
▪ WINDOW
[Link] 2
Graphiques 3D : Illustrer, dans un même graphique, les surfaces des deux fonctions suivantes :
𝑧1 = 𝑥 2 + 𝑦 2
𝑧2 = 𝑥 − 𝑦 + 50
Mettre également les titres pour les trois axes.
▪ SCRIPT
z1 = @(x,y) x.^2 +y.^2;
z2 = @(x,y) x - y + 50;
fsurf(z1)
hold on
fsurf(z2)
title('function of time','interpreter', 'latex')
xlabel('$x$','interpreter', 'latex')
ylabel('$y$','interpreter', 'latex')
zlabel('$z$','interpreter', 'latex')
I3-GCI4 Page 15 of 22
ITC Matlab
▪ WINDOW
4. Exercice 4 : Manipulation des nombres complexes
▪ SCRIPT
u = complex(11,-7);
v = complex(-1,sqrt(3));
%module and argument de u
module_u = abs(u)
argument_u = angle(u)
%module and argument de v
module_v = abs(v)
argument_v = angle(v)
t = u.^3+v.^2;
real_t = real(t)
imagin_t = imag(t)
I3-GCI4 Page 16 of 22
ITC Matlab
▪ WINDOW
module_u =
13.0384
argument_u =
-0.5667
module_v =
2.0000
argument_v =
2.0944
real_t =
-288
imagin_t =
-2.2015e+03
5. Exercice 5 : Ecriture des fonctions
[Link] 1
Ecrire une fonction nommée polaire, prenant comme arguments d’entrée les coordonnées
cartésiennes (x,y) d’un point et renvoyant en sortie 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.
▪ SCRIPT
function[P] = polaire(r,Q_deg)
x = input('Enter the value: x: ');
y = input('Enter the value: y: ');
Q_deg = (atan(y./x)).*(180./pi)
r = x.*acos(y./x)
end
▪ WINDOW
>> polaire
Enter the value : x : 5
Enter the value : y : 3
Q_deg =
30.9638
r =
4.6365
I3-GCI4 Page 17 of 22
ITC Matlab
[Link] 2
On souhaite maintenant appeler la fonction polaire créée lors de la question précédente dans un
nouveau fichier .m à créer pour déterminer d’autres paramètres. Dans ce nouveau fichier, écrire
un script pour calculer :
a. A1(43.3 ; 25) et A2(65.78 ; 23.94).
Les coordonnées polaires pour A1(43.3 ; 25) et A2(65.78 ; 23.94).
▪ SCRIPT
function[P] = polaire
x1 = 43.3;
y1 = 25;
x2 = 65.78;
y2 = 23.94;
Q_deg1 = (atan(y1./x1)).*(180./pi)
r1 = x1.*acos(y1./x1)
Q_deg2 = (atan(y2./x2)).*(180./pi)
r2 = x2.*acos(y2./x2)
end
▪ WINDOW
>> polaire
Q_deg1 =
30.0007
r1 =
41.3643
Q_deg2 =
19.9985
r2 =
78.8243
b. Illustrer graphiquement ces deux points en coordonnées polaires
Illustrer graphiquement ces deux points en coordonnées polaires avec le couleur bleu et
le symbole astérisque (*).
▪ SCRIPT
function[P] = polaire55
x1 = 43.3;
y1 = 25;
x2 = 65.78;
y2 = 23.94;
I3-GCI4 Page 18 of 22
ITC Matlab
Q1_rad = atan(y1./x1)
r1 = x1.*acos(y1./x1)
Q2_rad = atan(y2./x2)
r2 = x2.*acos(y2./x2)
figure
polarplot(Q1_rad, r1,'b*')
hold on
polarplot(Q2_rad, r2,'b*')
hold off
end
▪ WINDOW
c. L’angle α formé par les vecteurs ⃗⃗⃗⃗⃗⃗⃗⃗
𝑂𝐴1 et ⃗⃗⃗⃗⃗⃗⃗⃗
𝑂𝐴2 , où O (0 ; 0)
⃗⃗⃗⃗⃗⃗⃗⃗ ⃗⃗⃗⃗⃗⃗⃗⃗
L’angle α formé par les vecteurs 𝑂𝐴1 et 𝑂𝐴2 , où O (0 ; 0) est le point d’origine des
axes polaires.
▪ SCRIPT
function[P] = polaire
x1 = 43.3;
y1 = 25;
x2 = 65.78;
y2 = 23.94;
I3-GCI4 Page 19 of 22
ITC Matlab
Q1_rad = atan(y1./x1)
Q1_deg = Q1_rad.*(180./pi)
Q2_rad = atan(y2./x2)
Q2_deg = Q2_rad.*(180./pi)
Alpha_deg = abs(Q2_rad-Q1_rad).*(180./pi)
end
▪ WINDOW
>> polaire
Q1_rad =
0.5236
Q1_deg =
30.0007
Q2_rad =
0.3490
Q2_deg =
19.9985
Alpha_deg =
10.0022
d. 𝑡 = d/ tan2(𝛼)
t =d/tan2(α) , Où d est la distance entre les points A1 et A2 (valeur à déterminer).
▪ SCRIPT
function[P] = polaire
x1 = 43.3;
y1 = 25;
x2 = 65.78;
y2 = 23.94;
%_______________
Q1_rad = atan(y1./x1);
r1 = x1.*acos(y1./x1);
%%_______________
Q2_rad = atan(y2./x2);
r2 = x2.*acos(y2./x2);
Alpha = abs(Q2_rad-Q1_rad);
d = sqrt( r1.^2+r2.^2 - 2.*r1.*r2.*cos(Alpha))
t = d./tan(Alpha).^2
end
I3-GCI4 Page 20 of 22
ITC Matlab
▪ WINDOW
>> polaire
d =
38.7603
t =
1.2461e+03
e. Ecrire t (cm)
Ecrire, au-dessous de l’expression de t, la phrase suivante : t est en cm.
▪ SCRIPT
function[P] = polaire
x1 = 43.3;
y1 = 25;
x2 = 65.78;
y2 = 23.94;
%――――――――――――――
Q1_rad = atan(y1./x1);
r1 = x1.*acos(y1./x1);
%――――――――――――――
Q2_rad = atan(y2./x2);
r2 = x2.*acos(y2./x2);
Alpha = abs(Q2_rad-Q1_rad);
d = sqrt( r1.^2+r2.^2 - 2.*r1.*r2.*cos(Alpha));
t = d./tan(Alpha).^2 ;
%――――――――――――――
formatSpec ='t = %6.1f cm \n';
fprintf(formatSpec,t)
end
▪ WINDOW
t = 1246.1 cm
I3-GCI4 Page 21 of 22