雅可比迭代python代码实现越简单越好
时间: 2024-11-15 15:26:50 浏览: 11
雅可比迭代法是一种用于求解非线性方程组近似解的数值方法,它基于函数梯度的信息。以下是用Python实现一个非常基础版本的雅可比迭代法的例子:
```python
import numpy as np
def f(x):
# 这里假设有一个简单的非线性方程组,比如二次方程组
return [x[0]**2 - x[1] - 1, x[0] + x[1]**2 - 2]
def jacobian(x):
dfdx = np.array([[2*x[0], -1], [1, 2*x[1]]])
return dfdx
def newton_raphson(x0, max_iter=100, tol=1e-6):
x = x0.copy()
for _ in range(max_iter):
jac = jacobian(x)
if np.linalg.norm(jac) < tol:
break
dx = -np.linalg.inv(jac) @ f(x)
x += dx
return x
# 示例:寻找方程f(x) = [0, 0]的解,初始猜测x0 = [1, 1]
x0 = np.array([1, 1])
solution = newton_raphson(x0)
print("Solution found:", solution)
阅读全文