Number of solutions of a system of linear equations

조회 수: 20 (최근 30일)
Gunther Schaaf
Gunther Schaaf 2018년 7월 28일
답변: Dimitris Kalogiros 2018년 7월 28일
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에서 Equation Solving에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by