如何求收敛阶

183次浏览(过去30天)
kevin刘
kevin刘 2021年5月4日
对于函数h(x)=53/162+sin(x-1/3)-(17/18)*(x)-(1/6)*x^2+(1/6)*x^3,如何表示收敛的顺序(用牛顿法)?
3评论
j·亚历克斯。李
j·亚历克斯。李 2021年5月4日
你已经开始用牛顿法求解了吗?当您这样做时,请跟踪剩余值和解决方案更新。二次收敛将使每一步的残差值减半。正如Jan所指出的,您只需要跟踪接近实际解的步骤,否则收敛顺序没有多大意义。

登录评论。

答案(2)

1月
1月 2021年5月4日
牛顿方法的收敛性取决于初值。收敛没有一般的顺序。对于某些起始值,该方法根本不收敛。
2的评论
kevin刘
kevin刘 2021年5月4日
如果初值为0,那么如何求收敛阶?(当我计算时,这个函数的根大约是0.33,使用的是初始值0)

登录评论。


j·亚历克斯。李
j·亚历克斯。李 2021年5月4日
听起来好像你已经实现了牛顿的方法,所以只需要保存所有的残差并绘制(范数的对数)与之前的值的对比。线性区域(接近于零)的最佳拟合斜率应该是收敛阶。
r =南(麦克斯特,1)
k = 1:麦克斯特
%牛顿迭代
r (k) =%计算剩余
结束
基于“增大化现实”技术= abs(右)
%需要过滤r的值太大或太小…
这对我很有效
掩模= ar > 1e-1 | ar < 1e-12
基于“增大化现实”技术(面具)= []
w = ar (1: end-1)
z = ar(2:结束)
情节(w、z,“o”
pf = polyfit (w、z 1)
OrderConv = pf (1)

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!