Vous êtes sur la page 1sur 32

République du Bénin

MINISTERE DE L’ENSEIGNEMENT SUPERIEUR ET


DE LA RECHERCHE SCIENTIFIQUE

ECOLE POLYTECHNIQUE D’ABOMEY CALAVI


(EPAC)
Filière : Secteur Industriel (SI)
Niveau : 2ère année

Année : 2022-2023

Etudiants : Professeur :
ADJAHO Lydwine

AGOSSOU Junior Mr GBAGUIDI Brice


AWOUIGNAN Jonas
COFFI Emmanuel
WARIGUI Brice

1
PLAN

I. Courbes. Fonctions. Boucles.

 Exercice1.2 : Tracé de fonctions(tracefoncs)


 Exercice 1.3 : Calcul de factorielle (facto)
 Exercice1.4 : Calcul d’une série (calsérie)
 Exercice1.5 : Fonctions définies par morceaux (tracefoncs 2)
 Exercice1.6 : Ecriture d’une fonction (g et testg)
 Exercice1.7 : Ecriture d’une fonction n ! (ffact)
 Exercice1.8 : Courbes définies en polaire (courbespol)
 Exercice1.9 : Illustration des séries de Fourier(Fourrier)
 Exercice1.10 : Utilisation de global (vdw et testvdw)
 Exercice1.11 : Ecriture d’une fonction de plusieurs variables
 Exercice1.12 : Projection de Mercator
 Exercice1.13 : Perte de charge dans un tube

II. Zéros de fonctions


 Exercice2.1 : Recherche de zéros de fonctions (zbessel)
 Exercice2.2 : Utilisation d’une LED
 Exercice2.3 : Zéros de fonctions : calcul d’un équilibre chimique
(eqchimique, feqchimique)
 Exercice2.4 : Point de fonctionnement d’un circuit hydraulique

III. Annexe

2
I. Courbes. Fonctions. Boucles.

 Exercice1.2 : Tracé de fonctions (tracefoncs)


Après avoir écrit chaque fonction, nous nous somme servis de l’instruction ‘’plot ‘’du logiciel
Matlab afin de tracer les courbes qui ont été séparer par une pause de 4 secondes. Les
courbes obtenues pour chaque fonction sont représentées ci-dessous :

 y=√ x 2 − x et y=x-1/2 sur [1,3]

 Y=sin (sin x) sur [o,2 π]

3
 Y=J0(x) et y=J1(x) sur [0,10 π] ou J0 et J1 sont des fonctions de Bessel de première espèce

 y=J0(x) et y=sin(x+π/4)/√𝑥 sur [π/4,10 π]

4
 y=erf (x) (fonction erreur) sur [-3,3]

 Exercice1.3 : Calcul de factorielle (facto)

Il nous a été demandé d’écrire un programme calculant la factorielle de n

A l’aide d’une boucle for nous avons utilisé la récursivité de la fonction factorielle pour
déterminer la valeur d’un nombre n lue à l’écran.
Nous avons testé cette fonction pour une valeur n=5

Voici représenté notre résultat après exécution :

5
 Exercice 1.4: Calcul d’une série (calserie)
Nous avons eu à calculer la série S que nous avons tronqué a 10-8 fois la somme
𝜋
partielle et comparé à la valeur de exacte 6
1
S=∑+∞
𝑛=1 𝑛2
Le résultat obtenu après compilation nous donne :

 Exercice 1.5: Fonctions définies par morceaux (tracefoncs2)


Nous nous sommes essayés au tracé de fonctions définies par intervalles
Les courbes obtenues respectivement selon l’ordre de notre exercice pour ces fonctions sont :
Fonction 1

6
Fonction 2

 Exercice 1.6: Ecriture d’une fonction (g et testg)

Pour la réalisation de cet exercice, nous avons effectué trois opérations que sont :

 Ecriture de la fonction g tel que 𝑔(𝑥) = 𝑥𝑙𝑜𝑔 (𝑥2 + 1) dans un fichier function

 Le test de la fonction g par la détermination de 𝑔 (1)

7
 Le Tracé de la fonction g sur [0, 10]

 Exercice 1.7 : Ecriture d’une fonction n ! (ffact)

L’exercice nous requiert d’écrire un fichier fonction permettant de calculer la factorielle. Nous
avons donc écrit, à l’aide de l’instruction ‘’if’ ‘’un fichier function avec pour argument d’entrée n et
pour argument de sortie f (f étant la factorielle de n).

Pour n=4, le résultat après exécution nous donne :

8
 Exercice 1.8 : Courbes définies en polaires (courbespol)

Nous avons dans un premier temps utiliser la fonction polarcart pour convertir
en coordonnées cartésiennes les coordonnées polaires puis nous avons utilisé
l’instruction plot pour tracer leur courbe. Il a été demandé de choisir une valeur de e
comprise entre 0 et 1, nous avons donc pris e= 0.5 Ainsi, on a :

 Pour 𝑟 = 1 + 𝑒 ∙ 𝑐𝑜𝑠(𝜃)

 𝑟 =1/(1+𝑒∙𝑐𝑜𝑠(𝜃))

9
 𝑟=1

Dans un second temps nous avons tracer les courbes des coordonnées polaires à l’aide de la
commande polar qui nous permet de tracer les Coubes des coordonnées polaires.
On a obtenu :
 Pour 𝑟 = 1 + 𝑒 ∙ 𝑐𝑜𝑠(𝜃)

10
 𝑟 =1/1+𝑒∙𝑐𝑜𝑠(𝜃)

 𝑟=1

11
 Exercice 1.9 : Illustration des séries de Fourier (fourrier)
QUESTION 1
Dans un premier temps, nous avons écrire la fonction carre.
La fonction carre a été écrite à partir de la valeur de x entré et du nombre n de valeurs x
entrés (nombre de colonne de la matrice)
L’exécution de carre pour x= [1 0 0 5] nous donne :

Dans un second temps nous avons tracé la courbe de la fonction f à l’aide de la fonction carre
et de l’instruction plot.
La courbe obtenue pour la représentation de f nous donne :

12
QUESTION 2
Nous avons créer une fonction nommée fourrier permettantle calcul de la fonction g puis
nous avons ecrit un script faisant appel a cette fonction afin de tracer sa courbe
Nous obtenons donc :

Afin de vérifier que l’on retrouve bien la fonction f à partir de la fonction g pour des termes
élevées nous avons tracé f et g sur un même graphe pour n= 5000 termes et avons obtenu :

13
On constate pour 5000termes que les deux courbes sont presque identiques ce qui confirme
que g et f sont égaux pour des termes élevés.

 Exercice1.10 : Utilisation de global (vdw et testvdw)


1 -nous avons conformément aux exigence de l’exercice écrire la fonction que p nous avons
nommé vdw avec :

2- Nous avons ensuite écrire un programme permettant de tracer les fonctions p pour
différentes valeurs de la température T en faisant le volume v
Nous obtenons donc :

 EXERCICE 1.11 : Ecriture d’une fonction de plusieurs variables


 Nous avons créé une fonction nommée clip qui reçois à l’entré la température T et
les coefficients A, B, C, D, E et calcule Cp et IP en sortie. Le nom du fichier est :
cpip.m
 Les courbes obtenues respectivement pour Cp (T) et Ip (T) sont respectivement les
courbes 1 et 2 ci-dessous :

14
 En réecrivant la fonction ave T comme seul argument d’ entré on obtient :

15
 Exercice 1.12 : : Projection de Mercator
1- Ecriture du programme
2-trace de la projection de Mercator
En l’absence du fichier text nous avons considéré 20 points pour la longitude et la
latitude variant respectivement entre 𝜃 ∈ [0°, 360°] (longitude) et 𝜙 ∈ [−90°, 90°]
(latitude) et nous obtenons pour un ensemble de 20 points :

16
Une partie de l’échantillon est représenté ci-dessous :

Projection de Mercator

17
Exercice1.13 : Perte de charge dans un tube

Afin de satisfaire à la demande de notre chef nous avons établi la fonction chute de
pression que nous avons testé par le programme test chute de pression. Le résultat
obtenu à l’issue de l’exécution de notre programme nous donne :

II. Zéros de fonctions

 Exercice2.1 : Recherche de zéros de fonctions (Bessel)


Le graphe obtenu à l’issue de la comparaison nous donne :

Interprétation du graphe :
En comparant la fonction Bessel de première espèce a la fonction sin de l’exercice on
constate à partir de la courbe obtenue graphiquement que la fonction Bessel et la
fonction sinus ne s’annulent pas au même point sur l’intervalle de ]- ∞ ;0] par contre
elle s’annulent approximativement au même point sur [0 ;π] la période étant de π

18
,alors les 20 premiers Zéros de la fonction bessel se retrouvent dans l’intervalle
[0 ;20π ]
A l’aide de la fonction fzéros on obtient :
Y1=3.6401e-26

Y2= 3.8317

Y3= 7.0156

Y4= 10.1735

Y5= 13.3237

Y6= 16.4706

Y7= 19.6159

Y8= 22.7601

Y9= 25.9037

Y10= 29.0468

Y11= 32.1897

Y12=35.3323

Y13= 38.4748

Y14=41.6171

Y15= 44.7593

Y16= 47.9015

Y17= 51.0435

Y18=54.1856

Y19= 57.3275

Y20= 60.4695

>>

19
 Exercice 2.2: Utilisation d’une LED
L’ecriture de f(I)=0 nous donne :

f(I)=0⇔I-((778×10-9))*𝑒 ((12−5∗I)/0.265)) =0

nous obtenons apres compilation :

 Exercice 2.3 : Zéros de fonctions : calcul d’un équilibre chimique


(eqchimique, feqchimique)
Apres avoir calculé notre constante d’équilibre Ke nous avons utilisé la fonction fzéros
afin de determiner les valeurs de ∝ et de x
Nous obtenons apres compilation :

Exercice 2.4 : Point de fonctionnement d’un circuit hydraulique


1. Détermination de l’équation permettant de déterminer le débit Q sous la forme
f(Q) =0
On a : or

(1) (2)

De plus on a

Re est le nombre de Reynolds = 𝜌𝐷𝑣/𝜂, (5) avec 𝜂 viscosité dynamique du fluide


(kg.m−1.s−1), et 𝜖 est la rugosité du tuyau (m) et

20
De (1),(2),(3) et (4) on obtient :

pm 1 ro
Q2× (𝑄𝑚2 +8×L×((1.8×log10(6.9/(ro×D×(4×Q/(π×D2))/(n))+(ε/(3.7×D))1.11 ))2 ). × )-pm =0
π2 .×𝐷2

Les résultats obtenues pour les questions 2,3et 4 apres compilation pour L1=100m
et L2=200m nous donne respectivement :

21
III.
Annexe

Exercice1.2 : Tracé de fonctions(tracefoncs)


% Tracé de fonctions
% 1-y=√(x^2-x)et y=x-1/2 sur [1,3]
x1=linspace(1,3,100);
figure (1);
plot(x1,sqrt(x1.^2-x1),x1,x1-0.5);
title('fonction 1');
legend('√(x^2-x)','x-1/2');
pause(4)

% 2- y=sin(sinx) sur[o,2pi]
x2=0:0.1:2*pi;
figure(2);
plot(x2,sin(sin(x2)));
title(' fonction 2');
pause(4)
%3- y=Jo(x) et y=J1(x)(fonctions de bessel)
x3=0:0.1:10*pi;
Jo=besselj(0,x3);
J1=besselj(1,x3);
figure(3);
plot(x3,Jo,x3,J1);
title ('fonction3');
legend('Jo','J1');
pause(4)

%4- y=Jo(x)et y=sin(x+pi/4)/?x


x4=pi/4:0.1:10*pi;
Jo=besselj(0,x4);
y=sin(x4+pi./4)./sqrt(x4);
figure(4)
plot(x4,Jo,x4,y);
title('fonction4');
legend('jo','sin(x+pi/4)/sqrt(x) ');
pause(4)

% 5- y=erf(x) sur[-3,3]
x5=linspace(-3,3,1000);
y1=erf(x5);% fonction erreur
figure(5);
plot(x5,y1)
title('foction 5');

22
Exercice 1.3 : Calcul de factorielle (facto)
%calcul de factorielle
n=input('entrer la valeur du nombre');
if n==0
fprintf( 'factorielle de 0 =');
disp(1);
else
f=1;
i=1;
for j=1:1:n
f=i*f;
i=i+1;
end
fprintf( 'factorielle de');disp(n);fprintf('=');
disp (f)
end

Exercice1.4 : Calcul d’une série (calsérie)


%calcul d'une série
n=1;
somme=0;
while n >= 1

somme=somme+(1/n^2);

if (1/n^2)<somme*1e-8
s=vpa(
somme,10);
fprintf('S=')

disp (s);
break
end
n=n+1;
end
if s < pi^2/6
fprintf (' Le resultat numerique obtenu est inferieur a la
valeur donnée');
elseif s > pi^2/6
fprintf (' Le resultat numerique obtenu est superieur
a la valeur donnée');
elseif s == pi^2/6
fprintf (' Le resultat numerique obtenu est égale a
la valeur donnée');
end

23
Exercice1.5 : Fonctions définies par morceaux (tracefoncs 2)
%fonction 1
x1=-5:0.1:-0.9999;
y1=0.*x1;
x2=-1:0.01:-0.0001;
y2=1+x2;
x3=0:0.01:0.99999;
y3=1-x3;
x4=1:0.1:5;
y4=x4.*0;
figure(1)
plot(x1,y1,'r',x2,y2,'r',x3,y3,'r',x4,y4,'r')
%fonction2
x1=-5:0.1:-0.9999;
y1=-(1+x1).^2;
x2=-1:0.01:-0.0001;
y2=(1+x2).^(3./2);
x3=0:0.01:2;
y3=x3.^2+1.5.*x3+1;
x4=2.0001:0.1:5;
y4=(11./2).*x4-3;
figure(2)
plot(x1,y1,'b',x2,y2,'b',x3,y3,'b',x4,y4,'b')

Exercice1.6 : Ecriture d’une fonction (g et testg)


 Fonction g
function [u] = g(x)
u=x.*log10(x.^2+1);
end
 Tracé de g
%programme permettant de tracer la fontion g
a=1;
[g] = g(a);

b=0:1:10;
u=b.*log10(b.^2+1);

plot(b,u)

24
Exercice1.7 : Ecriture d’une fonction n ! (ffact)
function [f] = ffact(n)
%calcul de factorielle
if n==0
f=1;

else
f=1;
i=1;
for j=1:1:n
f=i*f;
i=i+1;
end

end
end

Exercice1.8 : Courbes définies en polaire (courbespol)


%exo18
e=0.5;
th=-pi:pi/200:pi;
r=1+e.*cos(th);
[x,y]=pol2cart(th,r);
figure(1)
plot(x,y)
grid on
%q2
%e=0.2;
r1=1./(1+e.*cos(th));
[x1,y1]=pol2cart(th,r1);
figure(2)
plot(x1,y1)
grid on
%q3
r2=1;
[x2,y2]=pol2cart(th,r2);
figure(3)
plot(x2,y2)
grid on
figure(4)
polarplot(th,r)
figure(5)
polarplot(th,r1)

25
figure (6)
polarplot(th,r2)

Exercice1.9 : Illustration des séries de Fourier(Fourrier)


function [y]=carre(x,n)
k=0;
y=zeros(1,n);%n est le nombre de valeurs de x
for i=1:n
k=k+1;
j=x(1,i);
if j>0 && j<=pi
y(1,k)=1;
else
y(1,k)=0;
end
end
end

function s=fourrier(x,n)
s=1/2;
for i=1:n
s=s+(1-(-1)^i)/(pi*i)*sin(i*x);
end

end

%question_1
x=linspace(0,2*pi,1000);
n=1000;
y=carre(x,n);
figure(1)
plot(x,y,'r')
title('fonction f :f(x)')
grid on
%question_2
x=linspace(0,2*pi,1000);n=20;
s=fourrier(x,n);
figure(2)
plot(x,s)
title(' g(x):fonction f transformée en série de fourrier')
grid on
%vérification
x=linspace(3,4,1000);n=5000;n1=1000;
s=fourrier(x,n);
y=carre(x,n1);

26
figure(3)
plot(x,s,'y',x,y,'--')
legend('g(x)','f(x)')
title(' courbe de f(x) et g(x)pour des termes élevés ')
grid on

Exercice1.10 : Utilisation de global (vdw et testvdw)


function [p] = vdw(v,T)

R=8.32;
a=0.5547;
b=3.0516*10e-5;
p=(R*T)./(v-b)-(a./v.^2);
end

%exo 1.10
%q2
a=0.5547;
b=3.0516e-5;
r=8.32;
v=1.1*b:0.000001:10*b;
t1=200;
p1=(r.*t1./(v-b))-a./v.^2;
%plot(v,p1)
%a
t2=300;
p2=(r.*t2./(v-b))-a./(v.^2);
%plot(v,p1,v,p2)
%b
t3=1000;
p3=(r.*t3./(v-b))-a./v.^2;
plot(v,p1,v,p2,v,p3)
legend('T1','T2','T3')

Exercice1.11 : Ecriture d’une fonction de plusieurs variables


% Exercice 1.11 queqtion1
function [Cp,Ip]=cpip(T,A,B,C,D,E)
Cp=A+B.*(((C.*T)./sinh(C./T)).^2)+D*(((E./T)./sinh(E./T)).^2);
Ip=A.*T+B*C*(1./tanh(C./T))-D*E*(1./tanh(E./T));
end

% question2
T=250:100:3000;
A=1;B=1;C=1;D=1;E=1;
[Cp,Ip]=cpip(T,A,B,C,D,E);
figure(1)
27
plot(T,Cp)
title('courbe1')
figure(2)
plot(T,Ip)

title('courbe2')

%question3
function [Cp,Ip]=cpip(T)
f=1./T;
%A=B=C=D=E=1

Cp=1+(f./sinh(f)).^2+((f./sinh(f)).^2);
Ip=1.*T+(1./tanh(f))-(1./tanh(f));
end

% Exercice 1.11 question3


T=250:10:3000;
[Cp,Ip]=cpip(T);
figure(1)
plot(T,Cp)
title('courbe1')
figure(2)
plot(T,Ip)

title('courbe2')

Exercice1.12 : Projection de Mercator


function [x,y] = projection(teta,phy)

x = 1.*teta;
y = log(tan(pi./4-phy./4));

end

k=load("C:\Users\USER\Desktop\Echantillon pour la projection


de MERCATOR1.txt");

teta=k(:,1);
phy=k(:,2);
[x,y] = projection(teta,phy)

plot(x,y)

28
Exercice1.13 : Perte de charge dans un tube
function [p] = chute_pression(Q,L)

%D = D0
D=0.03;
H=1000;
n=1e-3;
e=46e-6;
v = 4*Q/(pi*D^2);
Re = H*D*v/(n);
f=1./(1.8*log10(6.9/Re+(e/(3.7*D))^1.11)).^2;
p =(0.5)*f*H*(v.^2)*L/D;
end

L=50;
Q=1e-3;
[p] = chute_pression(Q,L);
fprintf('chute de pression=')
disp(p);

II.Zéros de fonctions
Exercice2.1 : Recherche de zéros de fonctions (zbessel)
x=-20*pi:0.01:20*pi;
j=besselj(1,x);
j1=@(x)besselj(1,x);
y=sin(x-pi./4);
plot(x,j,'r',x,y,'b')
grid on
for x=1:pi:20*pi
y=fzero(j1,x);
disp(y)
end

Exercice2.2 : Utilisation d’une LED


%ecriture de f(I)=0
f=@(I)I-((778*10^(-9))*exp((12-5*I)/0.265));
%recherche de I
I=fzero(f,5);

29
disp(I)

Exercice2.3 : Zéros de fonctions : calcul d’un équilibre chimique (eqchimique, feqchimique)


T=[300,1000,2000];
k=0;
alpha=zeros(1,3);
ke=zeros(1,3);
x=zeros(1,3);
for i=1:3
k=k+1;
j=T(1,i);
ke(1,k)=exp(10.4-34000./j);
f=@(y)ke(1,k)-(y^(3/2)/((1-y)*sqrt(2+y)));
alpha(1,k)=fzero(f,10);
x(1,k)=(2.*alpha(1,k))./(2+alpha(1,k));
end
fprintf('x=')
disp(x)

Exercice2.4 : Point de fonctionnement d’un circuit hydraulique


%2.4
L= input('entrer la valeur de la longueur');
Qm=1.7e-3;
pm=2.8e5;
D=0.03;
ro=1000;
n=1e-3;
e=46e-6;
y=@(Q)((Q.^2)*(pm/Qm^2+8.*L.*(1./(1.8*log10(6.9/(ro*D*(
4*Q/(pi*D^2))/(n))+(e/(3.7*D))^1.11)).^2).*ro/(pi^2*D^5)))-pm;
K=fzero(y,1e-3);
Q=K;
v = 4*Q/(pi*D^2);
Re = ro*D*v/(n);
f=1./(1.8*log10(6.9/Re+(e/(3.7*D))^1.11)).^2;
p =(0.5)*f*ro*(v.^2)*L/D;
fprintf(' le débit Q:');
disp (Q)
fprintf ("la vitesse d'ecoulement dans le tube:");
disp (v);
fprintf (" la différence de pression _p:");
disp (p)
fprintf ('le nombre de Reynolds Re :');
disp (Re)
Z=Q/Qm;
if Z > 0.5 && Z < 0.7

30
fprintf('Les conditions de fonctionnement sont respectées')
else
fprintf('Les conditions de fonctionnement ne sont pas
respectées')
end

31
32

Vous aimerez peut-être aussi