我正在翻译一些旧的MatLab代码,我是给了它的.我正在经历一些我不理解的行为,我找不到合适的答案:
我想把包含复数的两个向量与一个内积相乘,所以我希望得到一个复标量. 这是一个MWE for Matlab(我用Octave运行它,所以这可能是个问题?):
a = [-0.21+0.58i -0.02-0.23i 0.23-0.39i];
b = [ 1.41-1.63i -0.46+0.69i -1.11+1.08i];
a*b'
ans = -2.06750 + 0.77960i
以下是在python中的相同情况:
a = np.array([-0.21+0.58j, -0.02-0.23j ,
0.23-0.39j])
b = np.array([1.41-1.63j, -0.46 +0.69j,
-1.11+1.08j])
a@b
(0.9830999999999999+1.9333999999999998j)
我真的不太了解MatLab,但我试图找到尽可能多的关于python/numpy的区别的信息,但找不到任何方法来获得在python中相同的结果.有人知道我做错了什么吗?
最好的 卢卡斯