Matlab 符号向量的点积

Matlab 符号向量的点积,matlab,symbolic-math,Matlab,Symbolic Math,我试着取一个符号向量和另一个向量的点积。我做了以下工作: >> rac = sym('rac',[3 1]) rac = rac1 rac2 rac3 >> i = [1;0;0] i = 1 0 0 >> dot(rac,i) ans = conj(rac1) 然而,我期望的结果是rac1。为什么它的行为不像我希望的那样?如何实现此输出?您需要指定符号向量为: 如果rac1

我试着取一个符号向量和另一个向量的点积。我做了以下工作:

>> rac = sym('rac',[3 1])

  rac =

    rac1
    rac2
    rac3

>> i = [1;0;0]

  i =

    1
    0
    0

>> dot(rac,i)

  ans =

    conj(rac1)

然而,我期望的结果是
rac1
。为什么它的行为不像我希望的那样?如何实现此输出?

您需要指定符号向量为:


如果
rac1
是实的,
conj(rac1)=rac1
,那么MATLAB是完全正确的,尽管它有点热衷于在复平面上显示结果,而您只需要实轴上的结果。
rac = sym('rac', [3 1], 'real');
dot(rac, [1; 0; 0])

ans =

rac1