牛顿迭代法收敛有如下定理:
设已知 f(x) = 0 有根 a,f(x) 充分光滑(各阶导数存在且连续)
若 f'(a) != 0(单重零点),则初值取在 a 的某个邻域内时,迭代法 x[n+1] = x[n] - f(x[n])/f'(x[n]) 得到
序列 x[n] 总收敛到 a,且收敛速度至少是二阶的
若 f'(a) == 0(多重零点),则初值取在 a 的某个邻域内时,收敛速度是一阶的
记 g(x)=x-f(x)/f'(x),其中"某个邻域"可由 |g'(x)|
扩展资料:
利用迭代算法解决问题,需要做好以下三个方面的工作:
一、确定迭代变量
在可以用迭代算法解决的问题中,至少存在一个可直接或间接地不断由旧值递推出新值的变量,这个变量就是迭代变量。
二、建立迭代关系式
所谓迭代关系式,指如何从变量的前一个值推出其下一个值的公式(或关系)。迭代关系式的建立是解决迭代问题的关键,通常可以使用递推或倒推的方法来完成。
三、对迭代过程进行控制
在什么时候结束迭代过程?这是编写迭代程序必须考虑的问题。不能让迭代过程无休止地执行下去。迭代过程的控制通常可分为两种情况:
一种是所需的迭代次数是个确定的值,可以计算出来;另一种是所需的迭代次数无法确定。对于前一种情况,可以构建一个固定次数的循环来实现对迭代过程的控制;对于后一种情况,需要进一步分析得出可用来结束迭代过程的条件。
-牛顿迭代法
有好几种方法,最简单的是直接看给的迭代公式中的B矩阵的谱半径,如果小于1,那么两种方法都收敛。(或者严格对角占优?好像有这一条,忘记了)
然后就是第二种方法,算雅克比迭代格式的迭代矩阵BJ的谱半径,如果小于1,那么雅克比迭代法收敛,高斯赛德尔方法不一定收敛。
第三种方法,算高斯赛德尔格式的迭代矩阵BG的谱半径,如果小于1,那么高斯赛德尔迭代法收敛,雅克比方法不一定收敛。
BJ和BG的格式参考课本吧
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)