复数向量的MatLab点积无法正常工作
为什么取两个复数向量的点积会得到这么奇怪的值?我很确定答案应该是8,但我仍然得到2.0000+3.4641i,如上所示。我做错什么了吗?从文档中 点(A,B)与A'*B相同 因此,如果您尝试:复数向量的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)
>> 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