Documentation Center |
Solve linear system of equations given in matrix form
X = linsolve(A,B)
[X,R] =
linsolve(A,B)
X = linsolve(A,B) solves the matrix equation AX = B. In particular, if B is a column vector, linsolve solves a linear system of equations given in the matrix form.
[X,R] = linsolve(A,B) solves the matrix equation AX = B and returns the reciprocal of the condition number of A if A is a square matrix, and the rank of A otherwise.
A |
Coefficient matrix. |
B |
Matrix or column vector containing the right sides of equations. |
X |
Matrix or vector representing the solution. |
R |
Reciprocal of the condition number of A if A is a square matrix. Otherwise, the rank of A. |
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: System is rank deficient. Solution is not unique. X = x/a -(x - a*y)/(a*b) 0 R = 2
cond | dsolve | equationsToMatrix | inv | norm | odeToVectorField | rank | solve | symvar | vpasolve