Number of solutions of a system of linear equations

30 次查看(过去 30 天)
I am looking for MATLAB code to determine the number of solutions (0, 1, Inf) of a system of linear equations (m equations for n variables, e. g.
A=[2,1,3;0, -1,5];
b=[-3;1]
x=A\b
which has infinitely many solutions.
While the answer for the m=n case is given in this excellent post making use of the rank() function I wonder how it can be solved in the general case (m=n, m>n, m<n).

采纳的回答

Dimitris Kalogiros
Dimitris Kalogiros 2018-7-28
Hi Gunther.
You can use solve() within symbolic toolbox.
I'm giving you an example:
syms x y z
eqn1= 2*x + y + 3*z==-3
eqn2= -y + 5*z==1
sol = solve([eqn1, eqn2], [x, y, z], 'ReturnConditions',true);
disp('Solution is :')
[sol.x; sol.y; sol.z]
disp('With parameters : ')
sol.parameters
disp('Under the conditions :')
sol.conditions
Function solve() returns the one solution of the system , or entirely set of solutions if the system has infinite solutions. In case the system has no solutions, sol.x , sol.y , and sol.z are empty.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Linear Algebra 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by