rogeg
14/12/2006, 11h28
Bonjour j'ai essayé de résoudre cette équation : f(X)=X^3-0.7 avec Xo=-2 à l'aide de la methode de Newton sur le logiciel matlab.
mais comme la dérivée passe par zéro impossible de résoudre avec ce programme
méthode de Newton
clear all
close all
%INTERVALLE DE RECHERCHE
Xmin=-2;
Xmax=5;
Ymin=Hx(Xmin);%"appel du sous-programme HX"
Ymax=Hx(Xmax);%"qui calule f(x)/f'(x)"
Niter=20; %"nombre d'itérations"
r=zeros(Niter,1);
r(1)=Xmin;
for iter=2:Niter
r(iter)=r(iter-1)-Hx(r(iter-1));
if (abs(r(iter)-r(iter-1))<=10^-6)
racine=r(iter)
break
end
end
disp(['la racine vaut ' num2str(racine)])
disp(['la valeur de f(racine) vaut ' num2str(Fx(racine))])
disp(['le nombre d itérations ' num2str(iter)])
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
%Calcul de la fonction Hx
% défini par f(x)/f'(x)
function H=Hx(x)
H=(x^3-0.7)/(3x^2);
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
On ma conseillé d'utiliser la méthode de quasi-newton que je ne connai pas, quelqu'un peut il m'aider?
merci d'avance
mais comme la dérivée passe par zéro impossible de résoudre avec ce programme
méthode de Newton
clear all
close all
%INTERVALLE DE RECHERCHE
Xmin=-2;
Xmax=5;
Ymin=Hx(Xmin);%"appel du sous-programme HX"
Ymax=Hx(Xmax);%"qui calule f(x)/f'(x)"
Niter=20; %"nombre d'itérations"
r=zeros(Niter,1);
r(1)=Xmin;
for iter=2:Niter
r(iter)=r(iter-1)-Hx(r(iter-1));
if (abs(r(iter)-r(iter-1))<=10^-6)
racine=r(iter)
break
end
end
disp(['la racine vaut ' num2str(racine)])
disp(['la valeur de f(racine) vaut ' num2str(Fx(racine))])
disp(['le nombre d itérations ' num2str(iter)])
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
%Calcul de la fonction Hx
% défini par f(x)/f'(x)
function H=Hx(x)
H=(x^3-0.7)/(3x^2);
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
On ma conseillé d'utiliser la méthode de quasi-newton que je ne connai pas, quelqu'un peut il m'aider?
merci d'avance



