首页 > 解决方案 > 从 MATLAB 转换为 python 时,矩阵乘法会呈现不同的结果

问题描述

我有一个复杂的MxN矩阵AA并且显然具有一些属性,可以为A'*A. A也非常大(256x16384),所以我想不出一种方法将它上传到这里进行复制。

在 MATLAB 代码中,我有:

imshow(abs(A'*A),[]);

这会产生以下图像: 在此处输入图像描述

python中转换后的代码:

tmp=np.dot(A.T,A)
plt.imshow(np.absolute(tmp))
plt.show()

产生:

在此处输入图像描述

对角线似乎在旋转。这种轮换有什么理由吗?我是否正确地进行了转换?

标签: pythonmatlabcode-conversion

解决方案


我猜您在转置和共轭转置运算符之间感到困惑。

Matlab 到 Python:

转置

  • MATLAB:A.'
  • Python:A.T

共轭转置

  • MATLAB:A'
  • Python:A.conj().T

因此,根据您的需要更改您的 matlab 代码或 python 代码。


推荐阅读