用MATLAB编出牛顿迭代法的程序

Newton迭代法求 法f(x)=x^6-x-=0于[0,2]内的一个实根
用牛顿法求f(x)=exp(-xk/4)(2-xk)-1 =0在0,2]是根
很急啊,论文要用,实在不会呀。求大神

function newton(x0,e,N)
%输入xo为估计的迭代初值,e为规定的误差,N为最大迭代次数.
%输出x,y为最后迭代的两个近似根,k为迭代次数.
clc
format long;
disp('迭代次数 近似根')
k=0;
x1=0;
x2=x0;
while (abs(x2-x1))>e
x1=x2;
x2=x1-f(x1)./df(x1);
k=k+1;
if k>N
return;
end
%%%%%%记录并输出%%%%%%%%%
o1=sprintf('%3d',k);
o2=sprintf('%3.8f',x2);
OL=[o1,' ' o2];
disp(OL);
y(k)=x2;
end
%%%%画图%%%%%%%
i=1:k;
figure(2)
plot(i,y,'rD-')
grid on
xlabel('迭代次数')
ylabel('近似根')
title(['牛顿法求出的该方程的近似根 x^*=', num2str(x2,9)])
function y=f(x)
y=x^2/2-sin(x)-1;
function y=df(x)
y=x-cos(x);
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-05-17
%求方程x^3-sinx-12x+1=0的根。

N =1000;
x0=0;
x1=x0^3-sin(x0)-12*x0+1;
E=1.0e-6;%f=x*x*x+4*x*x-10=0,f1为f=x*x*x+4*x*x-10的一阶导
k=1;本回答被网友采纳
相似回答