设n为3,为实现矩阵的按公式赋值后再做如图的转置变换
时间: 2023-05-27 09:04:55 浏览: 50
不太清楚题目中的具体公式是什么,以下给出两种不同的赋值方式来实现矩阵转置。
方式一:
首先定义一个3x3的矩阵:
```
mat = [[0 for j in range(3)] for i in range(3)]
```
然后按照常规的方法逐行逐列赋值:
```
mat[0][0] = 1
mat[0][1] = 2
mat[0][2] = 3
mat[1][0] = 4
mat[1][1] = 5
mat[1][2] = 6
mat[2][0] = 7
mat[2][1] = 8
mat[2][2] = 9
```
接下来进行转置操作:
```
trans_mat = [[0 for j in range(3)] for i in range(3)]
for i in range(3):
for j in range(3):
trans_mat[i][j] = mat[j][i]
```
最终得到的矩阵如下:
```
1 4 7
2 5 8
3 6 9
```
方式二:
这种方法则是按照公式来赋值,不需要传统的逐行逐列赋值方式。
首先定义一个3x3的矩阵:
```
mat = [[0 for j in range(3)] for i in range(3)]
```
然后按照公式依次计算出每个元素:
```
for i in range(3):
for j in range(3):
mat[i][j] = i*n + j + 1
```
接下来同样进行转置操作:
```
trans_mat = [[0 for j in range(3)] for i in range(3)]
for i in range(3):
for j in range(3):
trans_mat[i][j] = mat[j][i]
```
最终得到的矩阵也是:
```
1 4 7
2 5 8
3 6 9
```