Warning singular matrix.

조회 수: 2 (최근 30일)
Chris
Chris 2011년 7월 5일
I am using \ to solve a system of linear equations. I get a warning telling me the matrix is singular or ill conditioned. This only happens sometimes as my program is recursive. In the event that this happens, there is a 'fall back value I would like to assign as the solution. How could I implement something like an if statement like:
if(warning) x=this instead end
I was reading about dbstop, but that doesn't seem to do what I want.
Thanks,
Chris

답변 (2개)

the cyclist
the cyclist 2011년 7월 5일
There is the try() command, as part of the try-catch structure, but I think that only works for error-trapping, not warning-trapping. That would be a nice feature.
You should be able to use the lastwarn() command to create something like the same thing. Specifically, I am thinking you could execute the lastwarn() command just after your code, and use the output to determine whether to assign your "fall back" value.

Sean de Wolski
Sean de Wolski 2011년 7월 5일
You could check if any of the result isinf
if any(isinf(result(:))) %is it singular?
x = this_instead; %yeah, doh!
end

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by