MATLAB Answers


How to solve a system of equations symbolically? (MATLAB R2011a)

Asked by Dan
on 30 Nov 2012

This is what I'm trying to do:

    syms x1 x2 x3 X1 X2 X3 t
    S = solve('x1 = 3*t*X1+X2', 'x2 = 2*t^2*X2', 'x3 = 5*t*X3')
    S = [S.X1 S.X2 S.X3]

I get a reference to non-existent field error though.

It's solving for x1, x2, and x3, but need to solve for X1, X2, and X3 in terms of x1, x2, x3 and t.

Please help! Thanks!


1 Answer

Answer by Azzi Abdelmalek
on 30 Nov 2012
Edited by Azzi Abdelmalek
on 30 Nov 2012

    syms x1 x2 x3 X1 X2 X3 t
    S = solve(x1==3*t*X1+X2, x2==2*t^2*X2, x3==5*t*X3,X1,X2,X3)
    S = [S.X1 S.X2 S.X3]


R2011a did not support using == in symbolic expressions. I think it was R2011b that first supported that.

S = solve('x1=3*t*X1+X2', 'x2=2*t^2*X2', 'x3=5*t*X3','X1','X2','X3')

Yes, correct. If everything is quoted, syms is not needed.

Join the 15-year community celebration.

Play games and win prizes!

Learn more
Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!