newton迭代法python
时间: 2024-05-05 12:14:21 浏览: 208
Newton迭代法,也称为牛顿-拉弗森方法,是一种用于求解方程的数值方法。它通过不断逼近函数的根来求解方程的解。下面是使用Python实现Newton迭代法的示例代码:
```python
def newton_method(f, f_prime, x0, epsilon=1e-6, max_iter=100):
"""
使用Newton迭代法求解方程的根
参数:
f: 方程的函数表达式
f_prime: 方程的导数函数表达式
x0: 初始猜测值
epsilon: 迭代停止的误差阈值,默认为1e-6
max_iter: 最大迭代次数,默认为100
返回:
root: 方程的根
"""
x = x0
for i in range(max_iter):
fx = f(x)
if abs(fx) < epsilon:
return x
fpx = f_prime(x)
if fpx == 0:
break
x = x - fx / fpx
return None
# 示例:求解方程x^2 - 2 = 0的根
f = lambda x: x**2 - 2
f_prime = lambda x: 2 * x
root = newton_method(f, f_prime, 1.5)
print("方程的根为:", root)
```
在上述示例代码中,`newton_method`函数接受一个方程的函数表达式`f`、方程的导数函数表达式`f_prime`、初始猜测值`x0`以及可选的误差阈值`epsilon`和最大迭代次数`max_iter`作为参数。它通过不断迭代更新猜测值,直到满足停止条件(函数值小于误差阈值或达到最大迭代次数)为止。
阅读全文