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

Abd*_*dam 2 python arrays numpy matrix

我希望数组是这样的:

 array([[K., 0., 0., 0.],
           [0., K., 0., 0.],
           [0., 0., K., 0.],
           [0., 0., 0., K.]])
Run Code Online (Sandbox Code Playgroud)

Aks*_*kar 5

除了liliscent答案。

如果您想在对角线上有不同的元素,您可以创建一个对角线元素的列表。

x= [2,3,4]
Run Code Online (Sandbox Code Playgroud)

并使用 np.diag()

print(np.diag(x))
Run Code Online (Sandbox Code Playgroud)

输出:

array([[2, 0, 0],
       [0, 3, 0],
       [0, 0, 4]])
Run Code Online (Sandbox Code Playgroud)