Solve linear system of equations given in matrix form
X = linsolve(A,B)
[X,R] = linsolve(A,B)
Matrix or column vector containing the right sides of equations.
Matrix or vector representing the solution.
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: The system is rank-deficient. Solution is not unique. In sym.linsolve at 67 X = x/a -(x - a*y)/(a*b) 0 R = 2
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 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.