Main Content

Solve System of Linear Equations

This example shows how to solve a system of linear equations using the Symbolic Math Toolbox™.

Solve System of Linear Equations Using linsolve

A system of linear equations

a11x1+a12x2++a1nxn=b1a21x1+a22x2++a2nxn=b2am1x1+am2x2++amnxn=bm

can be represented as the matrix equation Ax=b, where A is the coefficient matrix

A=[a11a1nam1amn]

and b is the vector containing the right sides of equations,

b=[b1bm]

If you do not have the system of linear equations in the form AX = B, use equationsToMatrix to convert the equations into this form. Consider the following system.

2x+y+z=2-x+y-z=3x+2y+3z=-10

Define the system of equations.

syms x y z
eqn1 = 2*x + y + z == 2;
eqn2 = -x + y - z == 3;
eqn3 = x + 2*y + 3*z == -10;

Use equationsToMatrix to convert the equations into the form AX = B. The second input to equationsToMatrix specifies the independent variables in the equations.

[A,B] = equationsToMatrix([eqn1,eqn2,eqn3],[x,y,z])
A = 

(211-11-1123)

B = 

(23-10)

Use linsolve to solve AX = B for the vector of unknowns X.

X = linsolve(A,B)
X = 

(31-5)

From the result in X, the solutions of the system are x=3, y=1, and z=-5.

Solve System of Linear Equations Using solve

Use solve instead of linsolve if you have the equations in the form of expressions and not a matrix of coefficients. Consider the same system of linear equations.

2x+y+z=2-x+y-z=3x+2y+3z=-10

Define the system of equations.

syms x y z
eqn1 = 2*x + y + z == 2;
eqn2 = -x + y - z == 3;
eqn3 = x + 2*y + 3*z == -10;

Solve the system of equations using solve. The inputs to solve are a vector of equations, and a vector of variables to solve the equations for.

sol = solve([eqn1,eqn2,eqn3],[x,y,z]);

solve returns the solutions in a structure array. To access the solutions, index into the array.

xSol = sol.x
xSol = 3
ySol = sol.y
ySol = 1
zSol = sol.z
zSol = -5

Related Topics