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

时间:2019-01-22 13:28:13

标签: python matlab code-conversion

我有一个MxN矩阵A,其中A很复杂,显然具有一些属性,可以为A'*A绘制一个对角矩阵。 A也非常大(256x16384),因此我想不出一种将其上传到此处进行复制的方法。

在MATLAB代码中,我有:

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

这将产生以下图像: enter image description here

在python中转换的代码:

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

产生:

enter image description here

对角线似乎在旋转。轮换有什么原因吗?我转换正确吗?

1 个答案:

答案 0 :(得分:5)

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

从Matlab到Python:

transpose

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

conjugate tranpose

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

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