数值分析牛顿迭代法代码
时间: 2024-11-01 13:05:46 浏览: 25
数值分析中的牛顿迭代法是一种用于求解非线性方程的数值优化技术。它基于函数的切线近似,通过不断更新估计值,逼近实际根。以下是使用Python编写的简单牛顿迭代法求解一元二次方程的代码示例:
```python
def f(x):
# 假设我们要解的是一元二次方程 ax^2 + bx + c = 0
a, b, c = 1, -5, 6
return a * x**2 + b * x + c
def derivative(f, x):
# 方程f(x)的一阶导数
return 2*a * x + b
def newton_raphson(iterations, initial_guess):
for _ in range(iterations):
guess = initial_guess
next_guess = guess - f(guess) / derivative(f, guess)
if abs(next_guess - guess) < 1e-6: # 判断是否收敛,通常设置一个小阈值
break
guess = next_guess
return guess
# 使用牛顿迭代法求解方程
initial_guess = 1.0 # 你可以选择任意初始猜测值
solution = newton_raphson(100, initial_guess)
print(f"Solution found using Newton's method after {iterations} iterations: {solution}")
阅读全文