Calcul d'un zero d'une droite par la méthode de Newton

La fonction dont on veut calculer le zéro :
fun.m
% Put your fun stuff here :) function y=fun(x) y= x^2 -10;
La fonction qui permet de calculer les dérivées :
deriv.m
% calcul la dérivée de fun() en un point donné % (à 10^-5 près) function y=deriv(x) y= (fun(x+10^(-5))-fun(x))/(10^(-5));
Le script qui permet de calculer le zéro :
newton.m
% auteurs : Erwan Le Guennec & Paul Hillereau % version 1.0 % fevrier 2008 % script qui permet de résoudre numériquement une équation du type % f(x)=0 % On utilise pour ça la dérivée première en a % on se fixe une précision epsi pour calculer le zero % Attention pour éviter de lancer une boucle infinie % on fixe arbitrairement le nombre max d'itérations % nombre max d'iterations imax=100; % epsi precision recherchee epsi=1/100; % compteur de boucle I=0; % pour le calcul de la tangente en a a=-5; % utilise pour stocker les resultats numeriques z=0; e=0; d=0; % fun() est une fonction du type f(x) % c'est celle dont on cherche le zéro % on utilise la méthode de Newton % qui consiste à remplacer le zéro de la courbe % par le zéro de la tangente à la courbe en (a,f(a)) while (I<imax) d=deriv(a); e= fun(a) - d*a; % equation de droite y = dX + e z= - (e/d); % z est l'absice en y = 0 if (abs (fun(z)) <= epsi) 'ok' break; else a=z; end I=I+1; end 'nombre d iterations' I+1 'resultat' z
Fichier attaché | Taille |
---|---|
![]() | 58 octets |
![]() | 59 octets |
![]() | 1.06 Ko |