从MATLAB转换为python时,矩阵乘法呈现不同的结果

从MATLAB转换为python时,矩阵乘法呈现不同的结果,python,matlab,code-conversion,Python,Matlab,Code Conversion,我有一个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() 产生: 对角线似乎在旋转。这种轮换有什么原因吗?我做的转换正确吗?我想你把转置和共轭转置

我有一个
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代码。

我想您可能混淆了转置和共轭转置运算符

Matlab到Python:

:

  • Matlab:
    A.
  • Python:
    A.T
:

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

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

绘制matlab代码的轴。请注意(0,0)是如何位于左上角的。也要提供一个。我相信您可以提供一个3x5矩阵,它可以将此图复制到matlab的轴上。请注意(0,0)是如何位于左上角的。也要提供一个。我相信您可以提供一个3x5矩阵来重现这一点