Solve linear system of equations given in matrix form
X = linsolve(A,B)
[X,R] =
linsolve(A,B)
solves
the matrix equation AX = B.
In particular, if X
= linsolve(A
,B
)B
is a column vector, linsolve
solves
a linear system of equations given in the matrix form.
[
solves
the matrix equation AX = B and
returns the reciprocal of the condition number of X
,R
] =
linsolve(A
,B
)A
if A
is
a square matrix, and the rank of A
otherwise.

Coefficient matrix. 

Matrix or column vector containing the right sides of equations. 

Matrix or vector representing the solution. 

Reciprocal of the condition number of 
Define the matrix equation using the following matrices A
and B
:
syms x y z A = [x 2*x y; x*z 2*x*z y*z+z; 1 0 1]; B = [z y; z^2 y*z; 0 0];
Use linsolve
to solve this equation. Assigning
the result of the linsolve
call to a single output
argument, you get the matrix of solutions:
X = linsolve(A, B)
X = [ 0, 0] [ z/(2*x), y/(2*x)] [ 0, 0]
To return the solution and the reciprocal of the condition number
of the square coefficient matrix, assign the result of the linsolve
call
to a vector of 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 = x/a y/a z 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 rankdeficient. In sym.linsolve at 67 X = x/a (x  a*y)/(a*b) 0 R = 2
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
.
cond
 dsolve
 equationsToMatrix
 inv
 norm
 odeToVectorField
 rank
 solve
 symvar
 vpasolve