When I use a row vector times a column vector, a unexpected error happens: the reslut be rearranged automatically. For example, the code as
syms x1 x2 x3 real;
X=[x1;x2;x3];
syms u11 u12 u13 real;
U1=[u11;u12;u13];
(X-U1)'*(X-U1)
The answer produced by matlab is
(u11 - x1)^2 + (u12 - x2)^2 + (u13 - x3)^2
But all we know the result should be
(x1 - u11)^2 + (x2 - u12)^2 + (x3 - u13)^2
Why does matlab automatically change the result? What's wrong with the code? Is my mistake or a bug of matlab? Although the two result is equal in this situation, it will change the result of the following code.For example the following code is
syms e11 e12 e13 e21 e22 e23 e31 e32 e33 real
C1=[e11 e12 e13;e21 e22 e23; e31 e32 e33];
(X-U1)'*C1*(X-U1)
Help me, please! Waiting the answer online……