2ème Année Lic GC / Hyd TP MNA Année 2019/2020
Nom et prénom : YACEF AIMEN 171731093445
DEHILES Nazih 1717 31094184
Sec/Gr : D/03…………..
Solution
EXCERCICE 01 :
1-le principe de la dichotomie :
La méthode de dichotomie permet d'approcher le zéro (la solution) d'une
fonction continue en cas de changement de signe. Le principe est de tester le
signe de la fonction au point courant, en divisant la taille de l'intervalle d'étude
par deux à chaque itération (voir l’organigramme). Cette méthode est basée sur
le principe des valeurs intermédiaires.
2-les conditions d’applications et les critères d’arrêt :
Si la fonction f(x) est définie et continue et strictement monotone sur l’intervalle
(a, b) et que f(a)*f(b)<0 , alors f(x)=0 n’a qu’une solution dans cet intervalle.
On calcule c par l’expression : c=a+b/2
3-Le comportement de la dichotomie :
Evaluer ce que vaut f au milieu de [a,b], il existe deux cas :
Si f(c) < =0 , alors on sait qu'on a une racine dans l'intervalle [c, b]
Sinon f(c) > 0, alors on sait qu'on a une racine dans l'intervalle [a, c]
Ainsi, dans les deux cas, on a trouvé un intervalle de longueur moitié dans
lequel est située une racine de l'équation f(x)=0. On recommence alors avec cet
intervalle (avec un certain nombre d’itération), et ainsi de suite jusqu'à ce qu'on
trouve une approximation qui nous convienne.
Le nombre n d’itérations nécessaires pour avoir une approximation de la
solution à epsilon près est
1
2ème Année Lic GC / Hyd TP MNA Année 2019/2020
donnée avec l’expression : ≥ log(b−a ε)/(log(2))
4-L’analyse :
La condition de La boucle : (c>a && c<b)
else a=c
la boucle : while
le compteur : c’est pour calculer les opérations qu’on nous demandent sur
matlab . (nit)
l’instruction conditionnelle : il faut entré les entrants avec l’ecriture juste
if f(a)*f(c)<0 b=c; else a=c;
II-
1-le graphe :
>> fplot('-x^5+x^4+2*x^3-5*x^2+x+2',[-2 2])
>> grid on
2
2ème Année Lic GC / Hyd TP MNA Année 2019/2020
2-La localisation :
>> zoom
Il y a trois passage par zéro de cette fonction f(x)
Les valeurs sont : [-1.75 ;0] ,[-0.513 ;0],[ 1 ;0]
3-Le programme :
dans un fichier script on écrit :
function[c,nit]=dichotomie(f,a,b)
nit=0;
c=(a+b)/2;
while(c>a && c<b)
if f(a)*f(c)<0 b=c;
else a=c;
end
c=(a+b)/2;
nit=nit+1;
end
end
après on sauvegarde le fichier sous le nom dichotomie.m
puis on insère les ,paramètres d’entrées dans la ligne de commande :
>> f=@(x)(-x^5+x^4+2*x^3-5*x^2+x+2);
Si on a intervalle on l’indique par ex :
>> a=-2;b=3;
Apres on appelle la fonction de dichotomie :
>> [c,nit]=dichotomie(f,a,b)
4-
>> f=@(x)(-x^5+x^4+2*x^3-5*x^2+x+2);
>> a=-2;b=-1.74;
>> [c,nit]=dichotomie(f,a,b)
c=
-1.7497 la racine approché
3
2ème Année Lic GC / Hyd TP MNA Année 2019/2020
nit =
50 le nombre d’itérations
>> a=-1.74;b=-0.5;
>> [c,nit]=dichotomie(f,a,b)
c=
-0.5139
nit =
53
>> a=-0.5;b=2;
>> [c,nit]=dichotomie(f,a,b)
c=
nit =
53
5-Deuxième méthode pour confirmer les racines :
>> fzero(f,-1.74)
ans =
-1.7497
>> fzero(f,1)
ans =
1
>> fzero(f,-0.5)
ans =
-0.5139
6-
4
2ème Année Lic GC / Hyd TP MNA Année 2019/2020
>> R=[-1.74 -0.5 1]
R=
-1.7400 -0.5000 1.0000
7-
>>I=[F(-1.7497 f(-0513) f(1)]
I-
0.0013 -0.0002 0
EXERCICE 02 :
1-on peut utiliser :
-le fichier m.function .
2-L’insertion :
1-function [y]= f(x)
if x<=2
y=4-2*x
else
y=2*x-4
end
5
2ème Année Lic GC / Hyd TP MNA Année 2019/2020
3-
>> x=2;
>> [y]= f(x)
y=
y=
On remarque que 2 est une racine de la fonction F .
4-
>> fplot('4-2*x',[-4 4])
>> hold
Current plot held
>> fplot('2*x-5',[-4 4])
>> grid on
6
2ème Année Lic GC / Hyd TP MNA Année 2019/2020
II-
1-
function [y]= f1(x)
y=exp(x)-3*x-1)
end
>> x=0;
>> [y]= f1(x)
y =
function [y]= f2(x)
y=sqrt(x+2)+sin(x)-sqrt(2)
end
>> x=0;
>> [y]= f2(x)
y =
7
2ème Année Lic GC / Hyd TP MNA Année 2019/2020
y =
0
On peut conclure que :
2-
3-oui elle est confirmée .
4- on écrit la commande hold off puis on tape la commande fplot et on insère
notre nouvelle fonction