复数向量的MatLab点积无法正常工作

复数向量的MatLab点积无法正常工作,matlab,math,complex-numbers,dot-product,Matlab,Math,Complex Numbers,Dot Product,为什么取两个复数向量的点积会得到这么奇怪的值?我很确定答案应该是8,但我仍然得到2.0000+3.4641i,如上所示。我做错什么了吗?从文档中 点(A,B)与A'*B相同 因此,如果您尝试: >> a = [a1 a2] a = 2.0000 + 0.0000i -1.0000 + 1.7321i >> b = [b1 b2] b = 2.0000 + 0.0000i -1.0000 - 1.7321i >> dot(a,b)

为什么取两个复数向量的点积会得到这么奇怪的值?我很确定答案应该是8,但我仍然得到2.0000+3.4641i,如上所示。我做错什么了吗?

从文档中

点(A,B)与A'*B相同

因此,如果您尝试:

>> a = [a1 a2]

a =

   2.0000 + 0.0000i  -1.0000 + 1.7321i

>> b = [b1 b2]

b =

   2.0000 + 0.0000i  -1.0000 - 1.7321i

>> dot(a,b)

ans =

   2.0000 + 3.4641i

>> a1*b1+a2*b2

ans =

     8
您将获得:

a = [2.0000 + 0.0000i  -1.0000 + 1.7321i]
b = [2.0000 + 0.0000i  -1.0000 - 1.7321i]
dot(conj(a),b)

但是文档不是说只有当它们是列向量时才是真的吗?而且,我认为a'表示a的转置,而不是它的共轭。对不起,它看起来是转换和共轭的。很抱歉。感谢您提供的响应,对于复向量空间的标量积,S是正确的。参见hermitean标量积或倍线性双线性形式。
>> dot(conj(a),b)

ans =

    8.0002