Vous êtes sur la page 1sur 8

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

Vous aimerez peut-être aussi