牛顿迭代法的matlab代码

 我来答
校温rM
推荐于2017-11-25 · TA获得超过120个赞
知道答主
回答量:197
采纳率:83%
帮助的人:56.5万
展开全部

function y=f(x)
y=f(x);%函数f(x)的表达式
end
function z=h(x)
z=h(x);%函数h(x)的表达式
end x=X;%迭代初值
i=0;%迭代次数计算
while i<= 100%迭代次数
x0=X-f(X)/h(X);%牛顿迭代格式
if abs(x0-X)>0.01;%收敛判断
X=x0;
else break
end
i=i+1;
end
fprintf('\n%s%.4f\t%s%d','X=',X,'i=',i) %输出结果

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
东莞大凡
2024-08-07 广告
在东莞市大凡光学科技有限公司,我们利用Halcon软件处理机器视觉项目时,会用到自定义标定板以满足特定需求。Halcon支持用户根据实际应用场景自定义标定板形状与标记点。这不仅可以灵活应对不同工作环境,还能提高标定精度。通过调整圆点数量、间... 点击进入详情页
本回答由东莞大凡提供
螃蟹剥了我的壳
2018-03-30 · TA获得超过585个赞
知道答主
回答量:0
采纳率:66%
帮助的人:0
展开全部

主程序:

function [k,x,wuca,yx] = newton(x0,tol)

k=1;

yx1=fun(x0);

yx2=fun1(x0);

x1=x0-yx1/yx2;

while abs(x1-x0)>tol

x0=x1;

yx1=fun(x0);

yx2=fun1(x0);

k=k+1;

x1=x1-yx1/yx2;

end

k;

x=x1;

wuca=abs(x1-x0)/2;

yx=fun(x);

end

分程序1:

function y1=fun(x)

y1=sqrt(x^2+1)-tan(x);

end

分程序2:

function    y2=fun1(x)

%函数fun(x)的导数

y2=x/(sqrt(x^2+1))-1/((cos(x))^2);

end

结果:

[k,x,wuca,yx] = newton(-1.2,10^-5)

k =8

x =0.9415

wuca =4.5712e-08

yx =-3.1530e-14

[k,x,wuca,yx] = newton(2.0,10^-5)

k =243

x =NaN

wuca =NaN

yx =NaN

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
心愿留在
2017-12-16
知道答主
回答量:4
采纳率:0%
帮助的人:2575
展开全部
newton.m
function y=newton (x0)
x1=x0-fc (x0)/df(x0)
n=1;
while (abs (x1-x0)>1.0e-6)&(n<=100000000)
x0=x1;
x1=x0-fc(x0)/df(x0);n=n+1;
end
x1
n
fc.m
function y=fc(x)
y=3*x.^2-exp(x);
df.m
function y=df(x)
y=6*x-exp(x);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式