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
can be represented as the matrix equation , where is the coefficient matrix
and is the vector containing the right sides of equations,
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.
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 =
B =
Use linsolve
to solve AX = B
for the vector of unknowns X
.
X = linsolve(A,B)
X =
From the result in X
, the solutions of the system are , , and .
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.
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 =
ySol = sol.y
ySol =
zSol = sol.z
zSol =