如何在对角线上创建具有特定值K的numpy的单位矩阵

时间:2018-02-10 10:43:46

标签: python arrays numpy matrix

我希望数组是这样的:

 array([[K., 0., 0., 0.],
           [0., K., 0., 0.],
           [0., 0., K., 0.],
           [0., 0., 0., K.]])

4 个答案:

答案 0 :(得分:2)

使用numpy.identity()

K*np.identity(4)

答案 1 :(得分:2)

除了liliscent回答。

如果你想在digonal有不同的元素,你可以 创建对角元素列表。

x= [2,3,4]

并使用np.diag()

print(np.diag(x))

输出:

array([[2, 0, 0],
       [0, 3, 0],
       [0, 0, 4]])

答案 2 :(得分:1)

这是一种方式:

K * np.eye(4)

np.eyenp.identity相比还有一些(可能不需要的)功能,因为它允许您设置不相等的行/列,并更改对角线的索引。

答案 3 :(得分:0)

我这样想着。

print(np.full((4,4), K) * np.identity(4))

但我会选择Liliscent的回答