MATLAB: Non trivial Solutions for a system of equations

equationmatrixsystem of equations

Hey, so I was solving this system of equations given as follows –
syms a b c
eqn1 = t1*a + b - t1*tm*c == tm;
eqn2 = t2*a + b - t2*tm*c == tm;
eqn3 = t3*a + b - t3*tm*c == tm;
t1 t2 and t3 are constants defined earlier.
After generating two matrices using
[A,B] = equationsToMatrix([eqn1, eqn2, eqn3],[a,b,c]);
I tried solving them using
1) linsolve,
2)sol = solve([eqn1,eqn2,eqn3],[a,b,c])
Both methods yield the same solution namely, a=c=0 and b=tm
However the solution I require is non zero. Is there any way to impose this condition ?
Any help or suggestion would be greatly appreciated.

Best Answer

Replace a, b, and c with the symbols x, y, and z, respectively:
t1*x + y - t1*tm*z = tm
t2*x + y - t2*tm*z = tm
t3*x + y - t3*tm*z = tm
The pair of equations y = tm and x = tm*z represent an infinite straight line in xyz space, containing of course infinitely many points. Each of the three equations above represents an infinite flat plane which contains this line and oriented at an angle depending on the respective t1, t2, and t3 values. Hence, assuming t1, t2, and t3 are not all equal, the set of simultaneous solutions for the three equations is simply this common line with its infinitely many points. Your ‘linsolve’ and ’solve’ functions cannot give you infinitely many different solutions, so their results must necessarily be incomplete. That is the reason for the difficulties you have encountered.
Another way of stating all of the above is that the matrix of coefficients in the above three linear equations is of rank 2.
Related Question