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 linear equations in matrix form


X = linsolve(A,B)
[X,R] = linsolve(A,B)



X = linsolve(A,B) solves the matrix equation AX = B, where B is a column vector.


[X,R] = linsolve(A,B) also returns the reciprocal of the condition number of A if A is a square matrix. Otherwise, linsolve returns the rank of A.


collapse all

Solve this system of linear equations in matrix form by using linsolve.


A = [ 2 1  1;
     -1 1 -1;
      1 2  3];
B = [2; 3; -10];
X = linsolve(A,B)
X =

From X, x = 3, y = 1 and z = -5.

Compute the reciprocal of the condition number of the square coefficient matrix by using two output arguments.

syms a x y z
A = [a 0 0; 0 a 0; 0 0 1];
B = [x; y; z];
[X, R] = linsolve(A, B)
X =
R =
1/(max(abs(a), 1)*max(1/abs(a), 1))

If the coefficient matrix is rectangular, linsolve returns the rank of the coefficient matrix as the second output argument.

syms a b x y
A = [a 0 1; 1 b 0];
B = [x; y];
[X, R] = linsolve(A, B)
Warning: Solution is not unique because the system is rank-deficient.
  In sym.linsolve at 67 
X =
 -(x - a*y)/(a*b)
R =

Input Arguments

collapse all

Coefficient matrix, specified as a symbolic matrix.

Right side of equations, specified as a symbolic vector or matrix.

Output Arguments

collapse all

Solution, returned as a symbolic matrix or vector.

Reciprocal of the condition number of A if A is a square matrix. Otherwise, the rank of A.

More About

collapse all

Matrix Representation of System of Linear Equations

A system of linear equations


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


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



  • If the solution is not unique, linsolve issues a warning, chooses one solution and returns it.

  • If the system does not have a solution, linsolve issues a warning and returns X with all elements set to Inf.

  • Calling linsolve for numeric matrices that are not symbolic objects invokes the MATLAB® linsolve function. This function accepts real arguments only. If your system of equations uses complex numbers, use sym to convert at least one matrix to a symbolic matrix, and then call linsolve.

Introduced in R2012b

Was this topic helpful?