Académique Documents
Professionnel Documents
Culture Documents
1
Systèmes d'équations non linéaires
x ∈ I, f (x) = 0
1. Dichotomie
1.1. Description. Soit f : [a, b] → R une fonction continue telle que
(1) |b − a| <
(2) |f (c)| < δ
Si l'un des deux tests d'arret est positif, on estime que l'on a convergé vers une
solution approchée de l'équation f (x) = 0.
1.2. Algorithme. L'algorithme s'écrit (il s'agit ici un code scilab):
Algorithm 1.1. [k,E]=Dichotomie(f, a,b,,K)
//Résolution de f (z) = 0 par dichotomie
//entrée a < b intervalle initial
// pour le test d'arret |f (c)| <
// K pour limiter le nombre d'itérations.
//Sortie : k, nombre d'itérations
// X=(ci , 0 ≤ i ≤ k), les itérés
// E=(|f (ci )| , 0 ≤ i ≤ k)
if f(a)*f(b)>0 then return end
c=(a+b)*0.5;fc=f(c);
C=c;E=abs(fc);
k=1;
while abs(fc)>eps & k<K do
k=k+1;
if f(a)*fc<0 then
b=c;
else
a=c;
end
c=(a+b)*0.5;fc=f(c);
E=[E,abs(fc)]
end
return k,C,E;
2
2. POINT FIXE 3
endfunction
1.3. Convergence.
Theorem. Soient [a0 , b0 ] , [a1 , b1 ] , ..., [an , bn ] , ... les intervalles en-
gendrés par l'algorithme de dichotomie, alors les suites an et bn
sont adjacente et leur limite commune est un zéro de f . Soit
r = limn→∞ cn avec cn = an +b 2
n
, alors
|r − cn | ≤ 2−(n+1) |b0 − a0 |
Example 1.2. Si [a, b] = [0, 1], pour obtenir une précision |x∗ − xn | < 10−6 , il
faut 19 itérations, quelle que soit la fonction f.
2. Point xe
L'équation f (x) = 0 est supposée mise sous la forme F (x) = x
2.1. Description.
Definition 2.1. On dit que x est un point xe de F si et seulement si F (x) = x
x0 ∈ R
xn+1 = F (xn )
Dans quelles conditions la suite est-elle convergente ? C'est ce à quoi nous allons
essayer de répondre dans le paragraphe sur la convergence. Auparavent :
f (x) = 0
f (xn )
xn+1 = xn −
f 0 (xn )
On réitère le processus, et on obtient la méthode de Newton.
3. MÉTHODES DE NEWTON ET ET DE LA SÉCANTE 6
(a) Newton
f (xn ) − f (xn−1 )
f 0 (xn ) '
xn − xn−1
on obtient alors la méthode de la sécante , qui est une méthode de quasi-Newton.
(xn − xn−1 )
xn+1 = xn − f (xn )
f (xn ) − f (xn−1 )
x=x-fx/dfx;
fx=f(x);
dfx=df(x);
X=[X,x];
E=[E,abs(fx)]
k=k+1;
end
return k,X,E;
endfunction
Algorithm 3.2. [k,X,E]=Secante(f,x0 ,x1 ,,K)
k=1;
x0=x0 ;x1=x1 ;
fx0=f(x0);fx1=f(x1);
X=x0 , x1 ;E=abs(fx0),abs(fx1);
c=fx1*(x0-x1)/(fx0-fx1);
while abs(fx1)>eps & k<K do
x0=x1;x1=x1-c;
fx0=fx1;fx1=f(x1);
c=fx1*(x0-x1)/(fx0-fx1);
X=[X,x1];
E=[E,abs(fx1)]
k=k+1;
end
return k,X,E;
endfunction