Skip to main content
 首页 » 编程设计

python之如何更改numpy中矩阵对角线的值

2025年05月04日15小虾米

<分区>

我想将一些 numpy 矩阵的对角线设置为任意一维数组。

例如,如果:

mat = np.array([[1,2],[3,4]]) 
diag = np.array([5,6]) 

然后:

>>> set_diagonal(mat, diag) 
>>> mat 
... array([[5,2], 
           [3,6]]) 

我可以从 diag 变量创建对角矩阵,diag_fill mat 矩阵到 0 并添加结果。但是,如果我试图就地改变对角线,这似乎会使用一堆不必要的资源。

如何在 numpy 中设置矩阵的对角线?

注意:这不是 this question 的副本,因为他们想将对角线设置为常量。