复杂值向量的MatLab点积不能正常工作

时间:2014-03-04 21:55:30

标签: matlab math complex-numbers dot-product

>> 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

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

1 个答案:

答案 0 :(得分:1)

从文档中

  

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

所以,如果你尝试:

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

你会得到:

>> dot(conj(a),b)

ans =

    8.0002