0% ont trouvé ce document utile (0 vote)
511 vues23 pages

Introduction à MATLAB pour Ingénieurs

Transféré par

SAN RAKSA
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
511 vues23 pages

Introduction à MATLAB pour Ingénieurs

Transféré par

SAN RAKSA
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

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

Vous aimerez peut-être aussi