牛顿迭代法的matlab代码
3个回答
东莞大凡
2024-08-07 广告
2024-08-07 广告
在东莞市大凡光学科技有限公司,我们利用Halcon软件处理机器视觉项目时,会用到自定义标定板以满足特定需求。Halcon支持用户根据实际应用场景自定义标定板形状与标记点。这不仅可以灵活应对不同工作环境,还能提高标定精度。通过调整圆点数量、间...
点击进入详情页
本回答由东莞大凡提供
展开全部
主程序:
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
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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);
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);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询