numpy diag
时间: 2023-10-05 08:04:28 浏览: 57
NumPy的`diag`函数用于提取或构造一个矩阵的对角线元素。它有两种用法:
1. 提取对角线元素:可以传入一个矩阵作为参数,返回该矩阵的一维数组,其中包含原矩阵的主对角线元素。例如:
```python
import numpy as np
a = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
diag_a = np.diag(a)
print(diag_a) # 输出 [1 5 9]
```
2. 构造对角矩阵:可以传入一个一维数组作为参数,返回一个以该数组为主对角线元素的对角矩阵。例如:
```python
import numpy as np
arr = np.array([1, 2, 3])
diag_arr = np.diag(arr)
print(diag_arr)
```
输出为:
```
[[1 0 0]
[0 2 0]
[0 0 3]]
```
希望这个解答能够帮到您!如果您还有其他问题,请随时提问。
相关问题
numpy diag函数首部
NumPy的diag函数是用来提取一个矩阵的对角线元素,或者将一个一维数组转化成一个对角矩阵。该函数的函数头如下:
numpy.diag(v, k=0)
其中,v表示输入的矩阵或者一维数组,k表示对角线的偏移量。当k>0时,表示对角线向上偏移k个位置,反之则向下偏移k个位置。如果v是一个一维数组,则diag函数将返回一个对角线元素为v的对角矩阵。
numpy.diag
numpy.diag 是 NumPy 库中的一个函数,用于提取一个矩阵的对角线元素或者构造一个对角线矩阵。
具体来说,当输入一个矩阵时,函数会返回一个由原矩阵的对角线元素构成的一维数组;当输入一个一维数组时,函数会返回一个以该数组为对角线元素的方阵。
例如,对于以下矩阵:
```
[[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
```
调用 `np.diag` 函数可以得到该矩阵的对角线元素 `[1, 5, 9]`;调用 `np.diag([1, 2, 3])` 函数可以得到以 `[1, 2, 3]` 为对角线元素的方阵:
```
[[1, 0, 0],
[0, 2, 0],
[0, 0, 3]]
```