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

18 次查看(过去 30 天)
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

采纳的回答

Keyur Mistry
Keyur Mistry 2020-9-22
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 个评论
Keyur Mistry
Keyur Mistry 2020-9-22
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’.

请先登录,再进行评论。

更多回答(0 个)

类别

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

产品


版本

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by