This section shows you how to solve a system of linear equations using the Symbolic Math Toolbox™.
A system of linear equations
can be represented as the matrix equation , where A 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.
Declare 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 = [ 2, 1, 1] [ -1, 1, -1] [ 1, 2, 3] B = 2 3 -10
Use linsolve
to solve AX = B
for
the vector of unknowns X
.
X = linsolve(A,B)
X = 3 1 -5
From X
, x = 3, y = 1 and z = -5.
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.
Declare 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]); xSol = sol.x ySol = sol.y zSol = sol.z
xSol = 3 ySol = 1 zSol = -5
solve
returns the solutions in a structure
array. To access the solutions, index into the array.