⽜顿迭代法的MATLAB程序
/*简单⽜顿迭代法的MATLAB程序实现*/
function x=newtoniteration(fun,dfun,x0,EPS) %简单⽜顿迭代法
%fun即迭代函数,dfun即迭代函数的⼀阶导数,x0为迭代初值,EPS为精度
f=fcnchk(fun);
df=fcnchk(fun);
x1=x0-f(x0)/df(x0);
d=norm(x1-x0);
matlab求导
k=1;
while d>=EPS
x0=x1;
x1=x0-f(x0)/df(x0);
d=norm(x1-x0);
k=k+1;
end
x=x1; %切记要给x赋值
/*简单⽜顿迭代法的MATLAB程序实现2,增加了迭代次数的限制*/
function x=newtoniteration(fun,dfun,x0,EPS) %简单⽜顿迭代法
%fun即迭代函数,dfun即迭代函数的⼀阶导数,x0为迭代初值,EPS为精度
f=fcnchk(fun);
df=fcnchk(fun);
x1=x0-df(x0)\f(x0); %左除
d=norm(x1-x0);
k=1;
while d>=EPS
x0=x1;
x1=x0-df(x0)\f(x0); %左除
d=norm(x1-x0);
k=k+1;
end
if k==1000
x='fasan';
else
x=x1;
end
友情链接们:
(1)MATLAB ⽜顿迭代法解⾮线性⽅程组
(2)⽜顿迭代法求⽅程根的matlab程序blog.sina/s/blog_6faf74c00101cr9d.html (3)⽜顿迭代法求⽅程根的MATLAB程序
(4)MATLAB 单变量函数⼀阶及N阶求导
(5)⽜顿迭代法的MATLAB程序