1
>> 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,如上所示。难道我做错了什么?

4

1 回答 1

1

从文档中,

dot(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
于 2014-03-04T22:04:41.920 回答