Algorithme de recherche dichotomique d`une racine

Transcription

Algorithme de recherche dichotomique d`une racine
Algorithme de recherche dichotomique d’une racine d’une fonction continue.
Entrées :
Sortie
:
f fonction ;
a, b, réels ;
e réel strictement positif.
f est supposée continue sur [a, b] avec f(a)f(b) < 0.
m, un réel valeur approchée à e près d’une racine de f.
Une fonction dichotomie en Maple :
Racine:= proc(f, a,b, epsilon)
local A, B, m ;
A:=a;
B:=b;
while( evalf(abs(A-B)) > epsilon ) do
m:=(A+B)/2;
if evalf(f(A)*f(B)) > 0
then A:=m
else B:=m;
fi;
od;
m;
end:
Racine(x->ln(1+x),1/2,2);
Consulter le cours de Maple pour les notions
concernant les paramètres formels et les
paramètres effectifs dans une fonction.
1
Une fonction dichotomie sur les TI 89-92 :
dicho(fff,var,aa,bb,ee)
Func
Local m,a,b,fa,fm
aa
a
ab
b
While approx(abs(b-a))>ee
(a+b)/(2.)
m
fff | var = a
fff | var = m
fa
fm
If approx(fa*fm > 0)
Then
m
Else
m
EndIf
EndWhile
Return m
EndFunc
1
Une façon de pallier l’impossibilité d’avoir
une fonction comme paramètre : donner en
arguments une expression fff et une variable,
var. On remplace alors, grâce à l’opérateur |,
la variable var dans l’expression fff par la
valeur désirée (ici, tantôt a, tantôt m).
L’opérateur | joue le rôle de subs dans
Maple :
fff | var = t
équivaut à
subs(var = t, fff) ;
Commentez les copies d’écran.
a
b
Fonction et écrans importés sur un PC depuis une ti 92 grâce au programme et au câble de liaison.