MATLAB Answers

How can I make a system identify if a solution has no solutions?

7 views (last 30 days)
Hello,
I was wondering how I can make this backsubstitution program identify whether a solution is infinite or has no solutions?
Thank you
function x = backsub(U,b)
if det(A)<=0.000001 %For infinite solution
n = length(b);
syms t
x=sym(zeros(n,1))
x(n)=sym('t')
b=(sym(b))
for i = n:-1:1
x(i)=b(i);
x(n)=sym('t')
if i<n
for j = n:-1:i+1
x(i)=x(i)-A(i,j)*x(j);
end
end
x(i)=x(i)/A(i,i);
end
else %For unique solution
n = length(b);
x = zeros(size(b));
for i = n:-1:1
x(i)=b(i);
if i<n
for j = n:-1:i+1
x(i)=x(i)-A(i,j)*x(j);
end
end
x(i)=x(i)/A(i,i);
x=double(x)
end
end
end

  0 Comments

Sign in to comment.

Accepted Answer

Keyur Mistry
Keyur Mistry on 22 Sep 2020
I understand you want to identify that the given system has infinite solution or no solution. For the same you can consider using command ‘rank’ on the system matrix ‘U’.
I hope this is useful for you to find the solution.

  3 Comments

Jonas Freiheit
Jonas Freiheit on 22 Sep 2020
Thank you, Another approach i've done earlier was
if abs(det(A))<=0.00005
then possibly inf or no sol then
if b(n)~=0
then no solutions
Keyur Mistry
Keyur Mistry on 22 Sep 2020
For more clarifiacton rank(U) and rank([U b]) can be compared to check if 'b' is inside the image space of 'U' or not. This is to identify if there is ‘infinite solution’ or ‘no solution’.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!