Académique Documents
Professionnel Documents
Culture Documents
: énergies renouvelables
Réalisée par :
- Meryem Nafis
- mAryem Moubakir
Introduction
Tp1:
Tp2:
Tp3:
Tp4:
Tp5:
TP6:
Introduction
Matlab est un logiciel de calcul numérique commercialisé par la société MathWorks1. Il a
été initialement développé à la fin des années 70 par Cleve Moler, professeur de
mathématique à l’université du Nouveau-Mexique puis à Stanford, pour permettre aux
étudiants de travailler à partir d’un outil de programmation de haut niveau et sans apprendre le
Fortran ou le C.
Matlab signifie Matrix laboratory. Il est un langage pour le calcul scientifique, l’analyse de
données, leur visualisation, le développement d’algorithmes. Son interface propose, d’une
part, une fenêtre interactive type console pour l’exécution de commandes, et d’autre part, un
environnement de développement intégré (IDE) pour la programmation d’applications.
INITIALISATION :
TP1 :
Dans ce premier TP d’initiation nous avons utilisé des fonctions pratiques qui facilitent la
programmation sous Matlab
Exercice1 :
>> Premierscript
c=3
Exercice 2 :
Pour résoudre cet exercice on utilise la fonction « Find» qui permet de vérifier la condition
qu’on a besoin d’étudier :
% déclaration matrice A
A = [1 2 -1 1;-1 1 0 3];
% la fonction find permet de trouver les éléments d'une matrice qui respect
la condition donnée
find(A>0)
commande window :
ans = 1 3 4 7 8
Exercice3 :
u=[1;-1;2];%la déclaration du vecteur colone
U=u';% transposé du vecteur colone u en vecteur ligne U
v=[10;-1;3];%la déclaration du vecteur colone
V=v';% transposé du vecteur colone v en vecteur ligne V
w=[5;-1;4];%la déclaration du vecteur colone
W=w';% transposé du vecteur colone w en vecteur ligne W
1)3*U% la multiplication de chaque élément du vecteur U par 3
2)norm (U,2)% norme 2 de vecteur U
3)2*U-V+5*W %ensemble des opérations
4)norm (2*U-V+5*W,1)%norme 1 de (2*U-V+5*W)
5)norm (W-4*V,inf)%norme infini de W-4V
6)angle =acos(( V(1)*W(1)+V(2)*W(2)+V(3)*W(3))/(norm(V)*norm(w)))
commande window :
1) 3 -3 6
2) 2.4495
3) 17 -6 21
4) 44
5) 35
6)0.3848
Exercice4:
Pour calculer le module d’un nombre complexe on utilise la fonction «abs»
Pour calculer l’imaginaire de ce nombre on utilise « imag »
Pour calculer le réal de ce nombre on utilise « real »
u = 11-7i ;
v = -1+3i ;
1) abs(11-7i) ;
ans = 13.0384
2) abs(-1+3i)
ans = 3.1623
3) c = conj(v) ;
p1 = u*c
p1 = -32.0000 -26.0000i
4) cc = conj(u) ;
p2 = v*cc ;
disp(p2) ;
p2 = -32.0000 +26.0000i
5) r1 =u^3 ;
r2 = v^2 ;
r = r1 + r2 ;
real(r)
ans = -294
6) imag(r)
ans = -2204
Exercice 5 :
A=[1 2 3;-5 3 1;-10 0 3];%déclaration d'une matrice
A';%transposé du A
B=[1 -2 5;6 1 -1;1 0 -2];
B';
C=[10 -5;3 1];
AB=A.*B %la multiplication de chaque élement des deux matrice
BA=B.*A
A.*B'
I=eye(3)
D=I-B.*B'
Commande window
AB = 1 -4 1
-30 3 -1
-10 0 -6
BA =
1 -4 15
-30 3 -1
-10 0 -6
ans =
1 12 3
10 3 0
-50 0 -6
I =
1 0 0
0 1 0
0 0 1
D =
0 12 -5
12 0 0
-5 0 -3
%%le déterminant des matrices %%
detA=det(A)
detB=det(B)
detC=det(C)
detD=det(D)
E=A.*A'
detE=det(E)
commande window
detA =
109
detB =
-29
detC =
25
detD =
432
E =
1 -10 -30
-10 9 0
-30 0 9
detE =
-8919
%%les valeur propres de la matrice E
VLP=eig(E);
VLP=eig(A);
Commande window
VLP =-26.8748
9.0000
36.8748
VLP =2.2548 + 6.2197i
2.2548 - 6.2197i
2.4903 + 0.0000i
Exercice 6 :
Cet exercice permet de déterminer les différences résultats afin de calculer les instructions
par plusieurs méthodes :
on a deux matrices : A = [1 -1 7;-4 2 11;8 0 3] et B = [3 -2 -1;7 8 6;5 1 3]
3*A
a = 3*A ;
ans =
3 -3 21
-12 6 33
24 0 9
1) A.*B
c = A.*B ;
disp(c) ;
ans = 3 2 -7
-28 16 66
40 0 9
2) A*B
On fait le produit entre A et B :
d = A*B ;
disp(d) ;
ans = 31 -3 14
57 35 49
39 -13 1
3) A./B
l = A./B ;
disp(l) ;
ans = 0.3333 0.5000 -7.0000
1.6000 0 1.0000
5) cos(A)
Pour calculer le cos de la matrice A on utilise la fonction « cos » qui donne le cos de chaque élément
de cette matrice :
n = cos(A) ;
disp(n) ;
e = exp (B) ; disp(e) ;
ans = 1.0e+003 *
Exercice 7:
script 7
%%%%Déclare les matrices A1 A2 A3 %%%%%%%%%%%
A1=[1 2 3;3 2 1;4 2 1];
A2=[0.75 0 0.25;0 1 0;0.25 0 0.75];
A3=[0.375 0 -0.125;0 0.5 0;-0.125 0 0.375];
%%%%%% la puissance des matrice^1 %%%%%%
A1.^1
A2.^1
A3.^1
Commande window
ans =
1 2 3
3 2 1
4 2 1
ans =
0.7500 0 0.2500
0 1.0000 0
0.2500 0 0.7500
ans =
0.3750 0 -0.1250
0 0.5000 0
-0.1250 0 0.3750
%%%%%%%%%% la puissance des matrices ^2
A1.^2
A2.^2
A3.^2
Commande window
ans =
1 4 9
9 4 1
16 4 1
ans =
0.5625 0 0.0625
0 1.0000 0
0.0625 0 0.5625
ans =
0.1406 0 0.0156
0 0.2500 0
0.0156 0 0.1406
%%%%%%%%%% la puissance des matrices ^3
A1.^3
A2.^3
A3.^3
Commande window
ans =
1 8 27
27 8 1
64 8 1
ans =
0.4219 0 0.0156
0 1.0000 0
0.0156 0 0.4219
ans =
0.0527 0 -0.0020
0 0.1250 0
-0.0020 0 0.0527
%%%%%%%%%%%%%%%% n=infi %%%%%%%%%
A1.^120000%si n=1200000
Commande window
ans =
1 Inf Inf
Inf Inf 1
Inf Inf 1
A2.^120000
Commande window
ans =
0 0 0
0 1 0
0 0 0
A3.^120000
Commande window
ans =
0 0 0
0 0 0
0 0 0
si n est très grande le nombre des éléments des matrices
tans vers le zéros A2 et A3
Exercice 8:
A = [1 -1 7;-4 2 11;8 0 3]
B = [3 -2 -1;7 8 6;5 1 3]
V = [1 2 4 7] ;
%Cette vecteur détermine le nombre d’ordre de chaque éléments de la matrice
A(v) = A(v) + 0.01 ;
%Cette ligne permet de faire l’addition de 0.01 pour juste les éléments de
la vecteur v dans la matrice A.
%Le résultat de cet addition est comme le suivant :
ans = 1.0100 -3.9900 -0.9900 7.0100
B(v) = abs(B(v)) ;
%Cette ligne permet de reproduire les éléments de la vecteur v dans la
matrice B positifs :
ans = 3 7 2 1
Exercice 9:
V=linspace(-5,5,11)
B=linspace(-500,500,1001)
D=linspace(0,pi,10)
Commande window
V =
-5 -4 -3 -2 -1 0 1 2 3 4
5
D =
et a < 2.^n avec l’utilisation de boucle « while ». Et pour afficher juste une seule valeur de n qui est
le plus petit on utilise boucle « if ».
for n = 1:1:10
break
end
end
Examples :
entrez un nombre real SVP : 3.2
2
entrez un nombre real SVP : 8.65
4
1)
On a H une matrice de dimension 3 et pour calculer cette matrice on exploite la
fonction :
hij = 1/ (i + j -1)
On donne pour i ou bien j un intervalle de 1 vers 3 parce que on a cette matrice de dimension
3, et on fixe l’autre par 1 :
i = 1 ;
for j = 1:3 ;
h = 1/(i + j -1) ;
disp(h) ;
end
La solution :
1
0.5000
0.3333
TP2 :
Dans ce TP on va étudier plusieurs problématiques par écrire des scripts bien détaillées sans utiliser
des fonctions évolués par Matlab.
Exercice 1 :
%%%%%%%% l'utilisateur peut entrer les valeur de x y z %%%%%%%%%%%
x=input('entrer la valeur de x svp:');
y=input('entrer la valeur de y svp:');
z=input('entrer la valeur de z svp:');
%%%%%%%%%%%branchement conditionnel%%%%%%%%%%%
if ((x>y)&&(x>z))
disp('le plus grande nombre est:');
disp(x);
elseif((y>x)&&(y>z))
disp('le plus grande nombre est:');
disp(y);
elseif ((z>x)&&(z>y))
disp('le plus grande nombre est:');
disp(z);
end
commende window
entrer la valeur de x svp:12300
entrer la valeur de y svp:321
entrer la valeur de z svp:0.9951
le plus grande nombre est:
12300
Exercice 2 :
v = input('entrez un vecteur') ;
s = size(v) ; % on calcule la taille du vecteur
c = s(2) ;
l = s(1) ;
for h = 1:c %Le nombre d'ordre des éléments du vecteur v
c = (v > v(h)) ;
if (v > v(h)) == 0 % Si on a pas un nombre supérieur à v(h) on affiche
v(h)
disp(v(h)) ;
end
end
Exercice 3 :
% le programme permet d'afficher le plus petit élément d'un vecteur
v=input('entrer votre vecteur:');
z=numel(v); % la fonction numel permet de déterminer le nombre des éléments
d'un vecteur
%boucle for permet de remplacé h suivent le numéro d'ordre
for h=1:z
c=(v<v(h));
% si la condition est vraie en doit afficher v(h)
if c==0
disp(v(h));
end
end
Exercice 6 :
for i = V
X = X + i ; % la somme des éléments du vecteur
moy = X/P ; % la moyenne des éléments du vecteur
end
disp(moy) ;
Exercice 7 :
v=[10 20 10 19 14 15 16]; %déclaration du vecteur ensemble des éléments
entre 0 et 20
z=size(v);% pour déterminé la taille du matrice v
% initialisation de s, a, j
s=0;
a=0;
j=0;
% premier for pour déterminer le nombre des notes supérieur a 10
for i=v
if i>=10
s=s+1;
end
a=a+i;% pour la somme des éléments du vecteur v
end
%z(2)pour déterminer le nombre des colonnes du vecteur v
m=a/z(2);% la moyennes la somme des éléments diviser par le nombre du
colonnes
% pour déterminer le nombre des notes supérieur a la moyenne
for i=v
if i>m
j=j+1;
end
end
disp('le nombre des notes supérieur ou égale a 10 est:');
disp(s);
disp('le nombre des notes supérieur a la moyenne est:');
disp(j);
commande window :
le nombre des notes supérieur ou égale a 10 est:
7
Cet exercice demande de faciliter la tâche à l’utilisateur de calculer la résistance totale pour chaque
type de montage :
Cet exercice facilite la tâche à l’utilisateur de calculer le périmètre et la surface juste par entrer la
valeur du rayon.
12.5664 « surface »
Exercice 3 :
%le programme permet de faire le produit et la somme de N
N=input('entrer la valeur de N SVP:');
s=0;
a=1;
for i=1:N
a=a*i;
s=s+i;
end
disp(a);
disp(s);
commande window :
entrer la valeur de N SVP:7
5040
28
Exercice 4 :
Cet exercice facilite la tâche à l’utilisateur de calculer la pression d’un gaz parfait.
V = input('entrez la valeur de volume SVP :') ;
c = input('entrez la valeur de température en c SVP:') ;
T = 273.15 + c ; % transformer la température en kelvin
n = 1 ; % La quantité de matière en mol
R = 8.314 ; % La constante universelle des gaz parfaits
P = (n*R*T)/V ; % La pression en Pa
disp(P) ;
Exemple :
Exercice 1 :
Le script :
%f(x) = x^2 - 7.21
a=2 ;
b=3 ;
c=(a+b)/2; % Le point milieu
pre=1e-5; % précision
end
disp(c) ; % la solution de la racine de 7.21
1
2) x = 2.31 3 alors : f(x) = x 3 - 2.31 = 0
Le script :
%f(x) = x^3 - 2.31
a=1 ;
b=2 ;
c=(a+b)/2; % Le point milieu
pre=1e-5; % précision
end
disp(c) ; % la solution de 2.31^1/3
Exercice 2 :
Dans cet exercice on va refaire le même exercice précédant mais maintenant avec la
méthode de Newton :
Le script :
x=0:0.05:4;
f=@(x) x^2 - 7.21 ; % la fonction général
fd=@(x) 2*x ; % la dérivée de la fonction
x1=input ('x1=');
tol=0.001; % La précision
i = 0;
while abs(f(x1)) > tol
f1=f(x1);
f1d=fd(x1);
x2=x1-(f1/f1d); % on implique la relation de cette méthode
f2=f(x2); % avec l’incrémentation i jusqu’à la vérification de
x1=x2; % la boucle while et on s’arrête
i = i+ 1 ;
disp(x2) ;
end
La solution :
x1=2
2.8025
2.6876
2.6851
Exercice 3 :
Cet exercice demande de calculer l’intégral de cos(t) par les méthodes des rectangles
et on les compare par le calcul analytique :
syms t
a = int(1*cos(t),t,pi/2,pi) ; % le calcule d’intégral analytiquement
disp(a) ;
n = 2 ; % le nombre des rectangles
a = pi/2 ; % la 1er limite
b = pi ; % la 2éme limite
h = 0.258 ; % le pas
I=0;
x= a:h:b ;
for j=1:n
xb=(x(j)+ x(j+1))/2;
I=( x(j+1)- x(j) )*f(xb); % la formule du point milieu
end
disp(I) ;
La solution :
-1 la valeur analytique
Les étapes de cette méthode sont les mêmes de la méthode de point milieu, la seule
différance s’agit dans la formule générale de cette méthode.
( x(j+1)- x(j) )*f(x(j))
Le script :
syms t
a = int(1*cos(t),t,pi/2,pi) ;
disp(a) ;
n = 2 ;
a = pi/2 ;
b = pi ;
h = 0.258 ;
I=0;
x= a:h:b ;
for j=1:n
I=( x(j+1)- x(j) )*f(x(j)); %la formule générale de la méthode des rectangles gauche
end
disp(I) ;
La solution :
-1
-0.9973
Le script :
syms t
a = int(1*cos(t),t,pi/2,pi) ;
disp(a) ;
n = 2 ;
a = pi/2 ;
b = pi ;
h = 0.258 ;
I=0;
x= a:h:b ;
for j=1:n
I=( x(j+1)- x(j) )*f(x(j)); %la formule générale de la méthode des rectangles droite
end
disp(I) ;
La solution :
-1
-0.7367
Dans la méthode du trapèze on joint f(xj) et f(xj+1) dans l’intervalle [x1, xn] . Le calcul de
l’intégrale dans ce cas revient au calcul de l’aire d’un trapèze comme illustrer à la Figure suivante :
S = (Petite_base + Grande_base) /2× Hauteur
On a petite base et grande base correspondent à f(xj) et f(xj+1) et Hauteur à ’h’ (h = b−a/n ), et on donne
la formule de trapèze ainsi :
I=( x(j+1)- x(j) )* (f(x(j+1))+ f(x(j)))/2
Le script :
syms t
a = int(1*cos(t),t,pi/2,pi) ;
disp(a) ;
n = 2 ;
a = pi/2 ;
b = pi ;
h = 0.258 ;
I=0;
x= a:h:b ;
for j=1:n
I=( x(j+1)- x(j) )* (f(x(j+1))+ f(x(j)))/2;
end
disp(I) ;
La solution :
-1
-0.8670
Conclusion :
On conclure que les différentes méthodes donnent des résultats presque proches entre les
quelles mais le plus proche à la valeur analytique c’est la méthode des rectangles gauche.
TP6 :
En analyse mathématique, les séries de Fourier sont un outil fondamental dans l’étude des
fonctions périodique. C’est à partir de ce concept que s’est développée la branche des
mathématique connue sous le nom d’analyse harmonique, c’est pour cela on va étudier dans
cette exercice le signal d’un onduleur avec ses harmoniques.
Pour rédiger le signal de cet onduleur on va exploiter la formule totale de la série de fourier :
T
bn = (2/T)* ∫ f ( t )∗sin (w 0∗t )dt
0
Le script :
fs = 100;
T = 2 ; % période
w0 = 2*pi/T ; % pulsation de signal
k = 0:1/fs:6-1/fs ;
y = 12*square(w0*k) ; % le signal carré
La solution :
Pour N = 5
Si on augmante le nombre des coefficients des harmoniques pour N = 10 ,on
trouve :
3) La représentation fréquentiel
Cet représentation permet de filtrer les harmoniques afin de réaliser un onduleur avec
une bonne qualité.
La représentation pour N = 5 :
Conclusion :
Pour réaliser un bon onduleur il faut être l’amplitude fondamentale supérieure pour un
coefficient de N = 1 par rapport les harmoniques qu’ils ont des coefficient de N >= 2 .