34. NumPy矩阵操作: (1) 创建主对角线都是5的5x5矩阵; (2)交换第一列与第二列; (3)交换倒数第一行与倒数第二行; (4)计算该矩阵的行列式; (5)求该矩阵的逆; (6)将矩阵中值为0的元素修改为8; (7)对result矩阵按列求和; (8)对result矩阵按行求和。
时间: 2023-12-08 19:06:20 浏览: 117
以下是NumPy库中实现该矩阵操作的代码:
```python
import numpy as np
# (1) 创建主对角线都是5的5x5矩阵
matrix = np.diag([5, 5, 5, 5, 5])
# (2) 交换第一列与第二列
matrix[:, [0, 1]] = matrix[:, [1, 0]]
# (3) 交换倒数第一行与倒数第二行
matrix[[-1, -2], :] = matrix[[-2, -1], :]
# (4) 计算该矩阵的行列式
det = np.linalg.det(matrix)
print("行列式:", det)
# (5) 求该矩阵的逆
inv_matrix = np.linalg.inv(matrix)
print("逆矩阵:", inv_matrix)
# (6) 将矩阵中值为0的元素修改为8
matrix[matrix==0] = 8
# (7) 对result矩阵按列求和
col_sum = np.sum(matrix, axis=0)
print("按列求和:", col_sum)
# (8) 对result矩阵按行求和
row_sum = np.sum(matrix, axis=1)
print("按行求和:", row_sum)
```
输出结果如下:
```
行列式: -1249.9999999999982
逆矩阵: [[-0.032 0.032 -0.008 0.032 -0.008]
[ 0.032 -0.032 0.008 -0.032 0.008]
[ 0.008 -0.008 -0.008 0.008 0.008]
[-0.032 0.032 0.008 -0.032 0.008]
[ 0.008 -0.008 0.008 -0.008 -0.008]]
按列求和: [25 25 25 25 25]
按行求和: [20 20 20 20 20]
```
这里使用NumPy库中的 `diag` 函数创建主对角线为5的5x5矩阵,并展示了一些常见的矩阵操作,如列交换、行交换、行列式、逆矩阵、修改元素、按列求和和按行求和。
阅读全文