c++用高斯方法求解线性代数方程组的代码
时间: 2023-10-27 14:03:08 浏览: 133
高斯方法是一种解决线性代数方程组的常用方法,以下是使用高斯方法求解线性代数方程组的代码:
```python
import numpy as np
def gauss_elimination(A, b):
n = len(A)
# 通过消元过程将方程组转化为上三角形矩阵
for i in range(n-1):
for j in range(i+1, n):
factor = A[j][i] / A[i][i]
A[j][i:] -= A[i][i:] * factor
b[j] -= b[i] * factor
# 回代过程求解方程组
x = np.zeros(n)
x[n-1] = b[n-1] / A[n-1][n-1]
for i in range(n-2, -1, -1):
x[i] = (b[i] - np.dot(A[i, i+1:], x[i+1:])) / A[i, i]
return x
# 例子:求解线性代数方程组 Ax = b
A = np.array([[2, 1, -1], [4, 1, 0], [1, -1, 7]])
b = np.array([3, 4, -2])
x = gauss_elimination(A, b)
print("方程组的解为:", x)
```
这段代码首先定义了高斯消元法的函数`gauss_elimination`,其中`A`是系数矩阵,`b`是常数项。通过循环遍历消元和回代过程,将给定的线性方程组转化为上三角形矩阵,并求解出方程组的解。最后打印出方程组的解。这段代码使用了NumPy库来处理矩阵和向量的运算。
阅读全文