De rien...
Ca rend bien service ce genre de petits algorithmes...
Si ca t'interesse, tu peux faire - a peu pres - la meme demarche pour des systemes a plusieurs dimensions. On joue entre la fonction et sa matrice jacobienne.
Allez, je me motive et je poste l'algo (ca tombe bien, j'etais justement en train de regarder mes cours de maths de l'inge ;o) ) :
L'exemple est dans IR^2 mais ca marche egalement dans IR^n.
On a 1 fct F de IR^2 dans IR^2
Je note en gras les vecteurs.
Les matrices sont notees en gras souligne.
X=(x1,x2) et
Y=(y1,y2)=F(
X)
Soient les deux fonctions f1 et f2 definies comme suit :
f1(x1,x2)=y1
f2(x1,x2)=y2
On cherche a determiner la valeur de
X telle que F(
X)=
0
On va construire une suite
Xn qui converge vers le vecteur
X qui annule la fonction F.
Je vous epargne la theorie, mais on joue avec les variations de la fonction F, autrement dit les derivees partielles de F (d'ou l'introduction de la matrice jacobienne).
Soit
Ji la jacobienne de F en
Xi
On definit la valeur initiale
X0
Delta=(-
J0^(-1)) x F(
X0)
X1=
X0+
Delta
On definit le critere de convergence epsilon
Tant que ||
X1-
X0||<epsilon
Delta=(-
J1^(-1)) x F(
X1)
X0=
X1
X1=
X0+
DeltaFin Tant que
Voili voilou. C'est facile a programmer et redoutablement efficace.
Bon, faut en avoir l'usage ;o)
Mais ca sert de temps en temps...
Marin Marais