从 MATLAB 转换为 python 时,矩阵乘法呈现不同的结果
Matrix multiplication renders different results when converting from MATLAB to python
我有一个 MxN
矩阵 A
,其中 A
很复杂,显然有一些属性可以为 A'*A
呈现对角矩阵。 A
也很大 (256x16384) 所以我想不出办法上传到这里复制。
在 MATLAB 代码中,我有:
imshow(abs(A'*A),[]);
这会生成以下图像:
python中转换后的代码:
tmp=np.dot(A.T,A)
plt.imshow(np.absolute(tmp))
plt.show()
产生:
对角线似乎在旋转。这种轮换有什么原因吗?我的转换正确吗?
我猜你混淆了转置和共轭转置运算符。
Matlab 到 Python:
- Matlab:
A.'
- Python:
A.T
- Matlab:
A'
- Python:
A.conj().T
所以根据您的需要更改您的 matlab 代码或 python 代码。
我有一个 MxN
矩阵 A
,其中 A
很复杂,显然有一些属性可以为 A'*A
呈现对角矩阵。 A
也很大 (256x16384) 所以我想不出办法上传到这里复制。
在 MATLAB 代码中,我有:
imshow(abs(A'*A),[]);
这会生成以下图像:
python中转换后的代码:
tmp=np.dot(A.T,A)
plt.imshow(np.absolute(tmp))
plt.show()
产生:
对角线似乎在旋转。这种轮换有什么原因吗?我的转换正确吗?
我猜你混淆了转置和共轭转置运算符。
Matlab 到 Python:
- Matlab:
A.'
- Python:
A.T
- Matlab:
A'
- Python:
A.conj().T
所以根据您的需要更改您的 matlab 代码或 python 代码。