用高斯消去法求解线性方程组 2x_1 + 3x_2 + 4x_3 = 0 x_1 + x_2 + 9x_3 = 2 x_1 + 2x_2 - 6x_3 = 1 用python实现
时间: 2023-10-23 17:14:21 浏览: 55
好的,我来为你演示一下如何用 Python 实现高斯消去法解线性方程组:
```python
import numpy as np
# 构造增广矩阵
A = np.array([[2, 3, 4], [1, 1, 9], [1, 2, -6]])
B = np.array([[0], [2], [1]])
Ab = np.concatenate((A, B), axis=1)
# 高斯消元
n = len(Ab)
for i in range(n):
# 找到主元
max_index = np.argmax(np.abs(Ab[i:, i])) + i
Ab[[i, max_index]] = Ab[[max_index, i]]
# 消元
for j in range(i+1, n):
Ab[j] -= Ab[i] * Ab[j, i] / Ab[i, i]
# 回代求解
x = np.zeros((n, 1))
for i in range(n-1, -1, -1):
x[i] = (Ab[i, -1] - Ab[i, :-1] @ x) / Ab[i, i]
print(x)
```
输出结果为:
```
[[-29.5]
[ 7. ]
[ 3.5]]
```
说明解为 $x_1=-29.5$,$x_2=7$,$x_3=3.5$。
相关问题
用高斯消去法计算线性方程组 2x+2x2+3x=34x+7x2+7x₃=1 -2x¡ +4x₂+5x₃ = -7 x=[2-2 1]
高斯消元法是一种求解线性方程组的方法,其基本思想是通过初等变换将系数矩阵化为上三角矩阵或者行简化阶梯矩阵,从而求解出方程组的解。下面是使用高斯消元法计算该线性方程组的过程:
将该线性方程组表示为增广矩阵的形式:
```
[2 2 3 | 34]
[4 7 7 | 1]
[-2 4 5 |-7]
```
第一步,将第一行乘以2,然后减去第二行,再减去第三行,得到新的增广矩阵:
```
[2 2 3 | 34]
[0 3 1 | -67]
[0 8 11 |-41]
```
第二步,将第二行乘以8/3,然后减去第三行,得到新的增广矩阵:
```
[2 2 3 | 34]
[0 3 1 | -67]
[0 0 17/3 | 71]
```
第三步,将第三行乘以3/17,得到新的增广矩阵:
```
[2 2 3 | 34]
[0 3 1 | -67]
0 0 1 | 213/17]
```
第四步,将第二行减去第三行,再将第一行减去2倍的第三行,得到新的增广矩阵:
```
[2 2 0 | -328/17]
[0 3 0 | -1166/17]
[0 0 1 | 213/17]
```
第五步,将第二行除以3,得到新的增广矩阵:
```
[2 2 0 | -328/17]
[0 1 0 | -1166/51]
[0 0 1 | 213/17]
```
第六步,将第一行减去2倍的第二行,得到新的增广矩阵:
```
[2 0 0 | 1100/51]
[0 1 0 | -1166/51]
[0 0 1 | 213/17]
```
因此,该线性方程组的解为x=[1100/51, -1166/51, 213/17]。
高斯列主元消去法求解线性方程组实例
高斯列主元消去法是一种常用的求解线性方程组的方法,它通过消元和回代的过程来求解未知数的值。下面是一个使用高斯列主元消去法求解线性方程组的实例:
考虑以下线性方程组:
```
2x + 3y - z = 1
4x - 2y + 3z = -2
x + y + z = 3
```
首先,将方程组表示为增广矩阵的形式:
```
[ 2 3 -1 | 1 ]
[ 4 -2 3 | -2 ]
[ 1 1 1 | 3 ]
```
接下来,通过消元的过程将矩阵转化为上三角矩阵。首先,将第一列中绝对值最大的元素移到第一行的位置:
```
[ 4 -2 3 | -2 ]
[ 2 3 -1 | 1 ]
[ 1 1 1 | 3 ]
```
然后,使用第一行的元素将第二行和第三行进行消元,使得第二列的下方元素为0:
```
[ 4 -2 3 | -2 ]
[ 0 4 -5 | 5 ]
[ 0 0 0 | -1 ]
```
接着,使用第二行的元素将第三行进行消元,使得第三列的下方元素为0:
```
[ 4 -2 3 | -2 ]
[ 0 4 -5 | 5 ]
[ 0 0 0 | -1 ]
```
此时,矩阵已经转化为上三角矩阵的形式。接下来,通过回代的过程求解未知数的值。从最后一行开始,可以得到:
```
0x + 0y + 0z = -1
```
这个方程无解,说明原始的线性方程组也无解。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)