silence123 发表于 2012-12-13 23:14

求教 牛顿法求根 哪错了

%牛顿法求解方程的根;
a=[];
a(1)=0.5;
e=0.0002;
syms x
f=x*exp(x)-1;
N=15;
z=diff(f);
fprintf(  'f的导数为%s,z')
for k=2:N
   % f的导数为exp(x)+x*exp(x);
   if exp(a(1))+a(1)*exp(a(1)) ==0
      disp(fprintf('奇异标志'));
   else
       a(k)=a(k-1)-(a(k-1)*exp(a(k-1))-1)/(exp(a(k-1))+a(k-1)*exp(a(k-1)));
       if abs(a(k)-a(k-1))<=e;
           disp(fprintf('该方程的零点为d=%4.6f,a(k)'))
       else
           if k==N
                fprintf('奇异标志');
           end
       end
   end
end
页: [1]
查看完整版本: 求教 牛顿法求根 哪错了