Qub*_*bix 0 python numpy matrix
我想做类似的事情(在Python中):
那是 :
1)将矩阵A的所有元素设置到矩阵B的对角线上(B的所有其他元素应该为0)和2)在对B执行某些操作之后,我想重新创建矩阵A,所以将元素从B的对角线上取下来,与第一步中执行的顺序相同,并将它们放回A中.
你不能把你的矩阵解开到另一个的对角线上吗?
In [29]: import numpy as np
In [30]: a = np.array([[1,2],[3,4]])
In [31]: b = np.diag(a.ravel())
In [32]: b
Out[32]:
array([[1, 0, 0, 0],
[0, 2, 0, 0],
[0, 0, 3, 0],
[0, 0, 0, 4]])
Run Code Online (Sandbox Code Playgroud)
然后,回去:
In [33]: b.diagonal().reshape((2,2))
Out[33]:
array([[1, 2],
[3, 4]])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
185 次 |
| 最近记录: |