python输出矩阵对角线并将其赋值给另一个矩阵
时间: 2023-09-12 09:10:28 浏览: 126
可以使用numpy库来进行矩阵操作,以下是一个示例代码:
```python
import numpy as np
# 创建一个3x3的矩阵
matrix = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
# 提取矩阵的对角线元素
diagonal = np.diag(matrix)
# 创建一个新的对角线矩阵
new_matrix = np.diag(diagonal)
print("原始矩阵:")
print(matrix)
print("对角线元素:")
print(diagonal)
print("新的对角线矩阵:")
print(new_matrix)
```
输出结果为:
```
原始矩阵:
[[1 2 3]
[4 5 6]
[7 8 9]]
对角线元素:
[1 5 9]
新的对角线矩阵:
[[1 0 0]
[0 5 0]
[0 0 9]]
```
这段代码首先创建了一个3x3的矩阵,然后使用`np.diag()`函数提取出了矩阵的对角线元素,将其赋值给了`diagonal`变量。接着,又使用`np.diag()`函数创建了一个新的对角线矩阵,将`diagonal`作为参数传入。最后,将原始矩阵、对角线元素和新的对角线矩阵分别输出。
相关问题
python矩阵主对角线减去一个值代码
要将矩阵的主对角线减去一个给定的值,可以使用NumPy库进行操作。下面是一个示例代码:
```python
import numpy as np
# 创建一个3x3的矩阵
matrix = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
# 要减去的值
value_to_subtract = 2
# 提取主对角线
diagonal = np.diagonal(matrix)
# 减去给定的值
diagonal -= value_to_subtract
# 将减去后的主对角线重新赋值给矩阵
np.fill_diagonal(matrix, diagonal)
print(matrix)
```
这段代码会输出减去给定值后的矩阵:
```
[[-1 2 3]
[ 4 3 6]
[ 7 8 7]]
```
你可以根据需要修改矩阵的大小、内容以及要减去的值。
求一个3×3的整型矩阵对角线元素之和。(可以在程序中赋值)
以下是求一个3×3的整型矩阵对角线元素之和的Python程序:
```python
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
sum = matrix[0][0] + matrix[1][1] + matrix[2][2] + matrix[0][2] + matrix[2][0]
print("对角线元素之和为:", sum) # 输出:对角线元素之和为: 25
```