能否提供一个用Python实现牛顿迭代法的具体代码示例?
时间: 2024-11-13 13:25:37 浏览: 6
机器学习大作业-基于python实现的牛顿法解决方案源代码(高分课程设计)
当然可以,牛顿迭代法是一种数值优化算法,用于寻找函数的零点。下面是一个简单的 Python 示例,它计算函数 f(x) = x^2 - 4 的根:
```python
def newton_raphson(f, df, x0=0, tolerance=1e-6):
"""
使用牛顿迭代法求解方程f(x)=0的近似解
参数:
f (function): 目标函数
df (function): f(x)的导数函数
x0 (float): 初始猜测值,默认0
tolerance (float): 迭代终止的阈值,默认1e-6
返回:
float: 方程的近似根
"""
x = x0
while abs(f(x)) > tolerance:
x_new = x - f(x) / df(x)
if abs(x_new - x) < tolerance:
break
x = x_new
return x_new
# 定义目标函数 f(x) = x^2 - 4 和其导数 f'(x) = 2x
def func(x):
return x**2 - 4
def deriv_func(x):
return 2 * x
# 示例:找到f(x)的第一个正实数解
solution = newton_raphson(func, deriv_func)
print("方程的解大约是:", solution)
阅读全文