Skip to main content
 首页 » 编程设计

python之Numpy 和 Matlab 在数组乘法方面的区别

2025年05月04日11java哥

我正在将一个程序从 Matlab 改写为 Python。 我意识到数组之间的乘法不同。这是一个例子:

 A   = [-1822.87977846-4375.93518777j  
        3675.88618351+3824.34290883j 
        971.68964707-2393.36758923j] 

在 Matlab 中:

A*A'= 5.7282e+07 

在 Python 中:

np.dot(A,A) = -21723405.178+39418085.0343j 

如何在Numpy中获取A'*A相同的结果?

谢谢。

请您参考如下方法:

首先请记住,在 MATLAB 中,' 不同于 .'。

' 做 complex conjugate transpose

.' 做 non-conjugate transpose

在实值向量或矩阵上,两个运算符获得相似的结果。然而,在复杂的向量或矩阵上,它们会得到不同的结果。检查链接以找到两者的 matlab 示例。

在 MATLAB 中,您可以执行以下操作:

A.'*A 
 
ans = 
 
     -2.172340517799748e+07 + 3.941808503424492e+07i