概述
程序代码如下
1、
function x=easydiedai(g,x0,eps,N)
k=0;
while k<N
x=feval(g,x0);
if abs(x-x0)<eps && 0<=x && x<=1
%本题要求根在[0,1]内
break
end
x0=x;
k=k+1;
end
fprintf('迭代次数为%d,根为%s',k+1,x)
if k==N
fprintf(' 提示:精度仍不满足要求')
end
end
2、
function x=newtondiedai(f,df,x0,eps,N)
k=1;
while k<N
if feval(df,x0)==0
I=-1;
break
else
x=x0-feval(f,x0)/feval(df,x0);
end
if abs(x-x0)<eps && 0<=x && x<=1
%本题要求根在[0,1]内
I=0;
fprintf('迭代次数为%d 根为%s',k,x);
break
end
x0=x;
k=k+1;
end
if k==N
I=1;
end
if I==0
fprintf('状态提示:I=%d 求得满足精度要求的近似根',I)
end
if I==-1
fprintf('状态提示:I=%d 因df(x0)=0而计算中断',I)
end
if I==1
fprintf('状态提示:I=%d 迭代N次后精度要求仍不满足',I)
end
end
注:程序框架根据《数值计算方法》第4版第二章第2节所述内容设计,有误勿喷,敬请指教
最后
以上就是怕黑小鸭子为你收集整理的简单迭代法和牛顿迭代法matlab程序设计(含例题)的全部内容,希望文章能够帮你解决简单迭代法和牛顿迭代法matlab程序设计(含例题)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复