SERIE 6 - METHODE DE BISSECTION

publicité
SERIE 6 - METHODE DE BISSECTION
Algorithme de bissection
tol=1.0e-4;
a=input('Entrer la borne inférieure de l intervalle ');
b=input('Entrer la bonrne supérieure de l intervalle ');
fa=valeurf(a), sa=sign(fa); (Entrer séparément une fonction qui calcule la valeur de la
fonction en un point de la forme function y=valeurf(x) et y=f(x))
fb=valeurf(b), sb=sign(fb);
z=(a+b)/2, fz=valeurf(z), sz=sign(fz);
while (b-a)>tol
if sz~=sa
b=z;
else a=z;
end
z=(a+b)/2;
fz=valeurf(z), sz=sign(fz);
disp('Le zéro est entre'),disp(a),disp(' et '),disp(b)
end
end
1) Implémenter le programme en rajoutant une boucle qui teste si le signe de la fonction est
bien différent en f (a) et en f (b) avant de commencer les calculs. Demander également au
programme d’afficher le nombre d’itérations pour arriver au résultat avec la précision voulue.
2) Faire le graphique des fonctions suivantes de sorte à s’assurer qu’elles n’ont qu’un seul
zéro. Calculer ensuite ce zéro par la méthode de la bissection.
a) f ( x) = x 5 − 2 x 4 + 100 x 3 − 2
b) f ( x) = x + e x
1
c) f ( x) = x − 1 + sin x
2
3) Pour trouver les zéros situés entre deux limites g et d d’une fonction continue f, on procède
en deux temps. D’abord, on subdivise l’intervalle [ g ; d ] en n sous-intervalles d’égale
longueur, puis à chaque petit intervalle qui satisfait les conditions de l’algorithme de
bissection (la fonction change de signe dans l’intervalle et est continue), on applique
l’algorithme de bissection. Ecrire un programme qui cherche des zéros de chacune des
fonctions suivantes :
a) f ( x) = 2 x 3 − 5 x 2 − 4 x + 3
b) f ( x) = 2sin x + e x
c) f ( x) = x 2 − x − x + 1
4) Un stère de bois (cube de 1 m de coté) est entassé contre une grande maison. A quelle
distance x de la maison faut-il poser le pied de l’échelle de 10m pour qu’elle s’appuie tant
contre la façade que contre l’angle du stère ? Il y a deux solutions.
3e Année Maths Appliquées / 06-07 / R. Eckert
Téléchargement