Newton迭代法的改进——弦截法

个人学习笔记!

一、弦截法原理


Newton法要计算函数的导数,当导数不方便计算时,可以利用导数的定义,由相近点处函数值的差来近似,这就得到
弦截法公式:    非线性方程求根——弦截法

求解时需要给出 x0,x1两个初始值。

收敛性:超线性收敛,且收敛阶
非线性方程求根——弦截法
注意:一般非线性方程有多个根,而弦截法只能得到所给初始值附近的一个根。在应用弦截法时应注意这点


二、python程序实现

例题:求函数非线性方程求根——弦截法在x=1附近的根。


import numpy as np
def f(x):
    return x**3-7.7*x*x+19.2*x-15.3
x0 = 1
x1 = 1.655889
f0 = f(x0)
f1 = f(x1)
while(np.abs(x1-x0)>1e-5):
    x2 = x1 - f1*(x1-x0)/(f1-f0)
    x0,x1 = x1,x2
    f0,f1 = f1,f(x1)
print('root:{:.4f}'.format(x2))


经过5次迭代,输出结果:1.7000,达到精度1e-5,迭代曲线如下:非线性方程求根——弦截法

相关文章:

  • 2021-05-19
  • 2021-11-02
  • 2021-11-02
  • 2021-11-02
  • 2022-01-13
  • 2021-11-09
  • 2021-11-02
猜你喜欢
  • 2021-04-04
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-02
  • 2021-10-17
  • 2021-11-16
相关资源
相似解决方案