牛顿法(1d)¶
牛顿法是一种比较流行的迭代寻根算法。从最初的猜测开始 \(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
.