This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

Solve System of Linear Equations

This section shows you 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=2x+yz=3x+2y+3z=10

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.

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=2x+yz=3x+2y+3z=10

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.

Related Topics