Lundi 20 Octobre
Résolution de l’équation f(x) = 0
On cherche à résoudre numériquement des équations de la forme f(x) = 0.
I Etude de la fonction x → f(x)
Théorème des valeurs intermédiaires
Soient α et β deux réels tels que α < β et f une fonction continue et monotone de [α, β ] → R alors f prend une fois et une seule toutes les valeurs comprises entre f(α) et f(β) pour x ∈[α, β ] Si f(α).f(β) < 0, f prend une fois et une seule la valeur 0 pour une valeur x = γ ∈[α, β ]
L’étude des variations de f permet donc d’isoler les racines de l’équation dans des intervalles Exemple 1
f :x → -x
3+ 3x +1 . On cherche les solutions de f(x) = 0:
Etude des variations ;
f ’(x) = -3x
2+3 ≥ 0 ⇔ x ∈ [ -1 ,1 ]
x - ∞ -1 1 +∞
f’(x) - + - f(x)
-1
f(-2) = 3 et f(-1) = -1 et f continue et monotone sur [ -2, -1] donc f prend la valeur 0 pour un x ∈ [ -2 , -1]
f(-1) = -1 et f(1) = 2 et f continue et monotone sur [ -1, 1] donc f prend la valeur 0 pour un x ∈ [ -1 , 1]
f(2) = -1 et f(1) = 2 et f continue et monotone sur [1, 2] donc f prend la valeur 0 pour un x ∈ [ 1 , 2]
L’équation f(x) = 0 a trois solutions α∈[ -2,-1], β∈[ -1, 1], γ∈[ 1, 2]
Exemple 2
g :x → 6ln(x) – 2x domaine de définition R
*+g’ (x) = 6
x - 2 ≥ 0 ⇔ x ≤ 3
x 0 3 + ∞ g’(x) + -
g(x)
g(1) = -2 et g(3) = 0.6 et g continue et monotone sur [ 1, 3] donc g prend la valeur 0 pour un x
0∈ [ 1 , 3]
g(5) = - 0 ;34 et g(3) = 0.6 et f continue et monotone sur [ 3, 5] donc g prend la valeur 0 pour un x
1
∈ [ 3 , 5]
L’équation g(x) = 0 a deux solutions α∈[ 1, 3], β∈[ 3, 5].
+ ∞
2
- ∞
- ∞ - ∞
0.6
Dichotomie
Considérons un intervalle [a, b] tel que une racine α de f(x)= 0 appartienne à [a, b]
On prend le milieu de l’intervalle : c = 1
2 (a + b) ; si α < c, alors f(a).f(c) < 0 sinon f(b).f(c) < 0 Pour déterminer α on utilise l’algorithme dichotomique :
On construit une suite dont les premiers termes sont : a
0
= a,
b
0
= b.
1
ertest : on pose c = 1
2 ( a + b ) , si . f(a).f(c) < 0, alors α ∈[ a, c] sinon α ∈[ c, b]
Dans tous les cas la zone d’incertitude est réduite de moitié.
2
èmetest : si . f(a).f(c) < 0, on pose a
1
=
a , b
1
= c , c
1
= 1 2 (a
1
+ b
1
)
si f(c)f(b) < 0, on pose a
1
=
c, b
1
= b, c
1
= 1 2 (a
1
+ b
1
) Au kième test : b
k -
a
k
=
1
2
k(b
-a), la taille de l’intervalle de recherche suit une progression géométrique de raison 1
2 et donc la largeur de l’intervalle tend vers zéro quand k tend vers l’infini Exemple : reprenons f(x) = -x
3+ 3x +1 = 0 et la racine α∈[ -2,-1]
c = 1
2 ( -3) = - 1.5 , f(-2) = 3 , f(-1.5) = - 1
8 donc α∈[ -2, - 1.5]
c
1=
1
2 ( - 3.5) = -1 ;75, f(-1.75) = 1,4375 donc α∈[ -.1,75, -1,5]
c
2=
1
2 ( -3,25) = -1, 625, f(-1,625) = 0.416 donc α∈[ -1.625, -1.5]
c
3= 1
2 ( -3,125) = - 1.375, f(- 1.5625) = 0.127 donc α∈[ -1.5625, -1.5]
et ainsi de suite …
l’algorithme dichotomique converge très lentement.
Exercice 1 : isoler les deux autres racines de f(x) = 0 dans deux intervalles de largeur 0.5
Réponses : β ∈[ -0.5, 0 ] ; γ ∈[ 1.5, 2 ]
Exercice 2 : isoler les deux racines de g(x) = 0 dans deux intervalles de largeur 0.5 Réponses : x
0
∈[ 1.5 , 2] , x
1
∈[ 4.5 ,5 ] Méthode du point fixe
1) Introduction
On cherche à construire une suite récurrente convergente vers la racine de l’équation f(x) = 0, cette racine appartenant à l’intervalle [a , b]
u
0= a u
n+1=
g(u
n )
Si la suite u
n
converge vers l, g(l) = l
2) Condition nécessaire de convergence : théorème des accroissements finis :
Soit f une fonction continue et dérivable sur [a , b], il existe c∈ [a , b] , tel que : f(b) – f(a) = (b –a) f ’(c)
Inégalité : si M = sup(| g’(x)|) pour x ∈ [a , b], | f(b) – f(a) | < | b –a | ×M On applique ce théorème à l’intervalle [u
n-1 ,
u
n
] : |u
n+1- u
n |= |g(u
n )
– g(u
n-1
) |< M| u
n
-
u
n-1
|, avec M = sup(| g’(x)|)
| u
n-
u
n-1
| < M| u
n-1
- u
n-2
| :
:
| u
2 -u
1
| < M | u
1
- u
0
|
En multipliant membre à membre, on a |u
n+1
- u
n|
< M
n+1| u
1
- u
0
|
| u
1- u
0
| < | b –a | donc |u
n+1
- u
n|
→ 0 si M < 1 3) Théorème du point fixe
Soit f une fonction qui s’annule pour x = l ∈ [a , b]
f(x) = 0 ⇔ x = g(x) La suite u
n+1
=
g(u
n )
converge vers l = g(l) si et seulement si a) sup(| g’(x)|) ≤ k < 1 sur x ∈ [a , b]
b) g[a,b] ⊂ [a , b])
4) Applications : résoudre l’ équation f(x) = 0
On reprend les exemples précédents -x
3+3x +1 = 0 ⇔ x = x
3- 1
3 , on considère la suite récurrente u
n+1
=
u
n 3- 1
3 = g(u
n
) g’(x) = x
2< 1 si
-1 <
x
< 1
La suite ne peut converger que vers la racine β ∈[ -1 , 0]
g’(x) >0 donc g est croissante et g [ -1 , 0] = [ -2 3 , -1
3 ] ⊂ [ -1 , 0]
La suite converge vers β u
0= -1
,u
1
= -2 3 , u
2
=
-35
81 = - 0,432 .. ; u
3
=
-0.36022…. u
4
= -0.34891, u
5
= -0.347492 b) Pour les autres racines, il faut trouver d’autres suites
Par exemple, x =
33x+1 ou u
n+1
=
33u
n
+1 ou g(x) =
33x+1 g’(x) = 1
(3x+1)
2 3
; g’(x) > 0 et g’(x) < 1 si (3x+1)
2
3
> 1 ⇔ 3x+1 > 1 ⇔ x > 0 g[ 1.5, 2] = [ 1.765…, 1.91 ….] ⊂ [ 1.5, 2]
Cette suite converge vers γ .
u
0
=
1.5 , u
1
=
35.5 = 1.765 .., u
2
=
33×1.83 +1 = 1.846…. ; u
3
=1.870. ;
c) Pour α , on peut vérifier que f(x) = 0 est équivalent à x = x +0.1 f(x)
donc g(x) = -0.1x
3+1.3x +1
g’(x) = -0.3 x
2+ 1.3 ; prenons x ∈] 2,-1[ , x
2∈ ]1, 4[ , -0.3 x
2∈ ] -1.2 , -0.3[donc : g(x) ∈]0.1 , 1[
De plus g(]-2 , -1[ ) = ] g(-2) , g(-1) [ puisque g’(x) > 0 ; donc g(]-2 , -1[ ) = ]-0.8, -0.2[
La suite converge vers α
Partie TP sur Matlab
1) Tracer à l’aide de Matlab le graphique de f(x) = -x
3+ 3x +1 pour x ∈[-4,3]
Pour cela taper en fenêtre de commande : x = -4:0.1:3;
plot(x,-x.^3+-3*x+1) ;grid on
D’après ce graphique donner un encadrement de chacune des trios racines de f(x) = 0 2) Sur une autre figure,tracer sur un même graphique les courbes représentatives de : y
1
= (x
3– 1 )/3 et y
2
= x
Pour cela taper en fenêtre de commande : Figure
plot(x,(x.^3-1)/3,’r’,x,x,’b’); grid on
3) Programmer le calcul des racines par dichotomie
% Programme % calcul de la racine α α α α de f(x)) = 0 par dichotomie a=-2; b=-1;
erreur = 10^(-4) ; eps=abs(b-a);
while eps > erreur c=0.5*(a+b);
if f(a)*f(c) <0;
b = c;
else a = c;
end
eps =abs(b-a) ; end
a
Ce programme nécessite un autre sous programme ou fonction ( function pour Matlab) qui calcule les valeurs numériques de la fonction f pour des valeurs numériques de x passées en paramètres.
Exemple :
function y = f (x)
y = - x^3 +3*x +1 ;
Méthode du point fixe
* On considère la suite récurrente du type { x
0
; x
n+1
= f1(x
n
) = (x
n
3
–1)/3}
On veut savoir sur quel intervalle f1 est contractante.
La dérivée f1’(x) est : f1’(x) = x
2, la suite ne peut converger que vers la racine β comprise entre -1 et 0. g1([-1,0] = [-1, -0.66], l’inclusion est respectée. La suite converge vers β.
Programme format long x0=-1;
n=10;suite=zeros(n);
hold on x=-1:0.05:0;
plot(x,x, x, (x.^3 -1)/3);%grid on for i= 1:n
y=g1(x0) suite(i) = y;
x0=y;
end for i=1:5
plot([suite(i),suite(i+1),suite(i+1)],[suite(i+1),suite(i+1),suite(i+2) ] end
x0
function y = g1 (x) y = ( x^3 -1 )/3;
Pour la racine γ comprise entre 1 et 2, on vérifie que la suite x
0
; x
n+1
= f2(x
n
) = (3x+1)
1 3