使用numpy实现一个二维矩阵的反对角线填充功能
时间: 2024-10-13 16:17:46 浏览: 36
利用numpy实现一、二维数组的拼接简单代码示例
在NumPy中,你可以使用`numpy.diag()`函数来创建一个沿着对角线填充的二维矩阵,然后结合其他数组进行拼接。如果你想实现从下三角到上三角的反对角线填充,可以先创建一个全零矩阵,然后将原矩阵沿着对角线放置进去。
这里有一个简单的例子:
```python
import numpy as np
# 原始二维矩阵
original_matrix = np.array([[1, 2], [3, 4]])
# 创建一个全零的反对角线矩阵,大小比原始矩阵大一列和一行
offset_size = original_matrix.shape[0] + 1
padding_matrix = np.zeros((offset_size, offset_size))
# 将原始矩阵沿着对角线放入,注意行和列的调整
padding_matrix[1:original_matrix.shape[0]+1, :original_matrix.shape[1]] = original_matrix
# 现在padding_matrix就是你想要的结果
print(padding_matrix)
```
在这个例子中,如果`original_matrix`是:
```
[[1, 2],
[3, 4]]
```
那么`padding_matrix`将会是:
```
[[0., 0., 1., 2.],
[0., 0., 3., 4.],
[0., 0., 0., 0.]
```
阅读全文