用牛顿迭代法求方程根python
时间: 2024-09-13 17:18:59 浏览: 42
牛顿迭代法是一种数值方法,用于寻找函数零点的近似解。在Python中,我们可以使用该算法通过不断逼近函数f(x) = 0的点来找到方程的根。以下是基本步骤:
1. 定义初始猜测值`x0`。
2. 设定迭代公式:`xn+1 = xn - f(xn) / f'(xn)`,其中`f(x)`是你要找根的函数,`f'(x)`是其导数。
3. 当满足停止条件(如绝对值差小于预设阈值或达到最大迭代次数)时,`xn`就是估计的根。
下面是一个简单的例子,用Python实现求解一元二次方程的根:
```python
def newton_raphson(f, df, x0, epsilon=1e-6, max_iter=100):
def iterate(x):
return x - f(x) / df(x)
for _ in range(max_iter):
x_new = iterate(x0)
if abs(x_new - x0) < epsilon:
break
x0 = x_new
return x_new
# 示例:求解方程x^2 - 2 = 0 的根
def quadratic_function(x):
return x**2 - 2
def quadratic_derivative(x):
return 2 * x
initial_guess = 1
root = newton_raphson(quadratic_function, quadratic_derivative, initial_guess)
print("Root found is:", root)
阅读全文