如何用numpy创建一个下对角矩阵?

如何使用Numpy生成动态大小的下对角矩阵?例如,如果n矩阵的大小是4我想获得这样一个矩阵:

| 0 0 0 0 |
| 1 0 0 0 |
| 0 1 0 0 |
| 0 0 1 0 |


守候你守候我
浏览 218回答 2
2回答

函数式编程

我发现了使用np.eye 的最短方法:import numpy as npn = 4np.eye(n, k=-1, dtype=int)输出是:array([[0, 0, 0, 0],       [1, 0, 0, 0],       [0, 1, 0, 0],       [0, 0, 1, 0]])

慕雪6442864

你可以创建它,首先创建一个带零的矩阵,然后填充那些:import numpy as np# create matrix with zerosn=4mat = np.zeros((n,n))# create indexes for where the 1s belongrows = np.arange(1,n)cols = np.arange(n-1)# fill in the 1smat[rows, cols] = 1输出:[[0. 0. 0. 0.] [1. 0. 0. 0.] [0. 1. 0. 0.] [0. 0. 1. 0.]]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python