Examen5 Me Üthodes Nume Üriques Et Programmation - Copie

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 3

Université Ziane Achour - Djelfa TP Méthodes Numériques et Programmation

Faculté des Sciences Exactes et Informatiques Licence Physique/L2/S3/ 21 Janvier 2020


Département de Physique Durée : 1 h 30 min

Nom : Prénom : Matricule : Gr : SGr :

Examen Final (Vague 2) - Corrigé Note : 20 / 20


N.B :
1. Réaliser chaque exercice dans un nouveau Fichier m (script) portant respectivement le nom :
votrenom1.m , votrenom2.m et votrenom3.m

2. Quelques opérations mathématiques à utiliser sous Matlab sont données dans le tableau suivant :

Opération Exemple mathématique Sous Matlab


Multiplication ( ·) A·B A .* B
Puissance An A .^ n
Division (÷) 𝐴 A./B
𝐵

Exercice 1 : (6 pts)
b

On vaut calculer l’intégrale suivante : J   f ( x )dx avec f (x) = 1  x , a = 1 et b = 4


a x
1/ Réaliser un programme sous Matlab permettant le calcul numérique approché de l’intégrale J par la
méthode de Simpson. On choisit le nombre de sous intervalles : n=30.

J = - 1.0000 0.5

2/ En utilisant le programme réalisé, complétez le tableau suivant (On prend n=30) :

fonction f(x) x x  cos( x)  sin  x  log 1  tan  x  


4 x 2
cos  x   sin  x 
4 4

a 0 0 0
0.75
b 1  
2 4
b 0.2679 0.6168 0.2722
J   f ( x )dx
a

Exercice 2 : (8 pts)
10
Soit l’équation à une variable : f(x) = 0 avec f  x   x  e  5
x

1  x2
1/ Vérifier l’existence d’une solution de l’équation f (x) = 0 dans les intervalles suivants :
1/3
Intervalle de x  1;1 3; 4.5 7.5;8.5
Existe une solution Oui Non Non 0.75
(Oui ou Non)
Justification f(-1) × f(1) = -2.3 < 0 f(3) × f(4.5) = 10-4 > 0 f(7.5) × f(8.5) = 8.9×106 > 0

2/ Réaliser un programme sous Matlab permettant de :


- Tracer la courbe de f (x) pour - 2≤ x ≤10 d’un pas de 0.1
- Calculer la racine c située dans l’intervalle [-1; 0], à une précision   10 , par la méthode de Newton.
7

(On prend comme valeur initiale : x0 = -1)


- Indiquer le nombre d’itérations k, et vérifier que f (c) ≈ 0.

c = - 0.9046 k= 3 f (c) = 8.1286×10-11 0.5

3/En utilisant le programme réalisé, refaire le calcul pour x0 = -2, 1, 3, 5 et conclure.

x0 c k f (c)
-2 - 0.9046 21 - 5.0695×10-8

1 - 0.9046 35 7.0578×10-8 0.5


3 - 0.9046 79 - 4.7534×10-8

5 - 0.9046 34 - 6.3906×10-8

Le choix de la valeur de x0 influence le nombre d’itération k, donc le temps du calcul dépend de x0 .

Exercice 3 : (6 pts)
0.25

On donne l’équation différentielle ordinaire d’ordre 1 suivante :

y   f  x, y  x   avec f  x, y  x    , y  0   1 et x  0;50
y
 1  x2 
1/ Réaliser un programme sous Matlab permettant de :
- Calculer la solution numérique approximée par la méthode d’Euler. On choisit le pas de discrétisation
h=5
- Représenter graphiquement les solutions approximée et exacte dans le même repère. On donne la
solution exacte : y  x   ea tan( x )
2/ Changez la valeur de h par h = 5 , 4 , 3 , 2 puis 1 et comparez, à chaque fois, entre les valeurs
approximée et exacte. Conclusion.

Si on fait diminuer la valeur du pas h, la solution numérique se rapproche, plus en plus, de la


solution exacte.
0.5

2/3
Programmes sous Matlab

Programme 1 : (la méthode de Simpson)


4.75
a=0;
b=pi./4;
n=30
h=(b-a)./n;
f=@ (x) log(1+tan(x));
s1=0;
for i=1:2:n-1
s1=s1+f(a+i*h);
end
s2=0;
for i=2:2:n-2
s2=s2+f(a+i*h);
end
J=(h./3).*(f(a)+f(b)+4.*s1+2.*s2)

Programme 2 : (la méthode de Newton) 6


x=-2:0.1:2;
f=@(x)(x+exp(x))+(10./(1+x.^2))-5;
plot(x,f(x))
grid on
xlabel('x')
ylabel('f')
title('Courbe de f(x)')
df=@(x)(1+exp(x))-(20.*x./(1+x.^2).^2);
eps=1e-7;
x0=-1;
xn=x0;
k=0;
while abs(f(xn))>eps
xn1=xn-f(xn)./df(xn);
xn=xn1;
k=k+1;
end
k
c=xn
f(c)

Programme 3 : (la méthode d’Euler) 5.5


a=0;
b=50;
h=5;
x=a:h:b;
y=zeros(size(x));
y(1)=1;
f=@(x,y)y./(1+x.^2);
n=(b-a)/h;
for i=1:n
x(i)=x(1)+(i-1)*h;
k1=h*f(x(i),y(i));
y(i+1)=y(i)+k1;
end
ys=exp(atan(x));
plot(x,y,'*r',x,ys)
xlabel('x')
ylabel('y')
title('courbes des solutions approchée et exacte.')
legend('approximée','exacte')

3/3

Vous aimerez peut-être aussi