
牛顿迭代法原理很简单,就是把在处一阶泰勒展开,即
注意这里是近似相等。所以的解近似为的解,即,在这里先浅浅理解一下和的意义,我们首先猜测的解是,然后我们用上述近似得到了一个更接近真实解的解,那么一个迭代公式便产生了:,迭代到一定程度我们就认为我们求出了的解。
下面是python代码,注意tol不能太小。
import math
def f(x):
return f(x)表达式
def df(x):
return dfx(x)表达式
def newton_solve(func, dif, x0):
tol = 1e-9
fx = func(x0)
dfx = dif(x0)
x1 = x0 - fx / dfx
while abs(x1 - x0) > tol:
x0 = x1
fx = func(x0)
dfx = dif(x0)
x1 = x0 - fx / dfx
return x1
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)