牛顿方法(一维)¶
牛顿法是一种比较流行的迭代求根算法。从最初的猜测开始 \(x_0\) 它试图找到函数根的越来越好的近似 \(f(x)\) 。为此,它使用一阶导数 \(f'(x)\) 该函数的。这一过程
\[x_{n+1}=x_n-\frac{f(X_N)}{f‘(X_N)}\]
重复执行,直到值 \(f(x_n)\) 达到的值在预定义的零公差范围内。有关更多信息,请参阅 Wikipedia 佩奇。
它的工作原理如下:
>>> def f(x):
... return x**2 - 2
...
>>> def df_dx(x):
... return 2*x
...
>>> newtons_method_1d(f, df_dx, x0=4, tol=1e-8)
1.4142135623730951
因此,按照给定的定义实现一个函数:
-
newtons_method_1d
(f, df_dx, x0, tol)¶ 返回的根 f 在 tol 通过使用牛顿方法。
首先从下载 exercise template
并编辑此文件。您可以通过以下方式运行测试
$ python newtons_method_1d.py test
检查您是否得到了正确的解决方案。您也可以看看 one possible solution
。