谁能告诉我牛顿迭代法的改进有何思路?要原创!谢谢!对我有帮助的话会另行加分 10
展开全部
这么历史悠久的算法...原创恐怕挺难了
改进可以分几个方面吧:
1. 像你说的重根问题(收敛阶降低), 这可以通过导函数来解决. f(x)=(x-a)^k g(x) 在 a 有个k重零点, 那么 f 的k-1阶导数在 a 就只是 1 重零点了.
2. 收敛域和稳定性问题. 通常牛迭只能保证局部收敛性, 解决办法通常是"牛顿下山法", 简而言之就是使每次修正的步距小些, 到了局部再用正常的方法.
3. 提高收敛阶. 基础的牛顿迭代法用的是直线插值, 比如可以考虑用抛物线插值.
4. 减少计算量/避免求导运算. 比如说求导用差分代替(截弦法). 求多元函数的根时还可以改进为所谓的拟牛顿法(Broyden方法).
5. 自动处理例外情况. 主要是处理收敛失败的问题. 如何重新开始搜索, 如何(一定程度上)确定附近有无根.
6. 结合以上各点....
改进可以分几个方面吧:
1. 像你说的重根问题(收敛阶降低), 这可以通过导函数来解决. f(x)=(x-a)^k g(x) 在 a 有个k重零点, 那么 f 的k-1阶导数在 a 就只是 1 重零点了.
2. 收敛域和稳定性问题. 通常牛迭只能保证局部收敛性, 解决办法通常是"牛顿下山法", 简而言之就是使每次修正的步距小些, 到了局部再用正常的方法.
3. 提高收敛阶. 基础的牛顿迭代法用的是直线插值, 比如可以考虑用抛物线插值.
4. 减少计算量/避免求导运算. 比如说求导用差分代替(截弦法). 求多元函数的根时还可以改进为所谓的拟牛顿法(Broyden方法).
5. 自动处理例外情况. 主要是处理收敛失败的问题. 如何重新开始搜索, 如何(一定程度上)确定附近有无根.
6. 结合以上各点....
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-11-23
展开全部
有何思路?
追问
就是说有什么改进的方法啊,当它的根是重根时,并且重数是已知的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询