IF statement Test for "Matrix is close to singular or badly scaled"

4 views (last 30 days)
Hi
I have a GA running a stiffness matrix. This involves inverting a large matrix. Using the function inv() in some cases the warning message is returned from inv()
"Matrix is close to singular or badly scaled"
I understand the error and i know the why this error occurs. (The GA choses a extreme solution) is there a way of testing for this.
essentially
if Matrix is close to singular or badly scaled == true %throw out solution end
As sometime a badly scaled solution becomes the optimum i would simply like to remove all badly scaled solutions but i need a way of testing for the condition.
Ross
  1 Comment
Matt J
Matt J on 28 Apr 2013
Edited: Matt J on 28 Apr 2013
I don't have the specifics of what you're doing, but using inv() is often unnecessary and performs poorly, esepcially with large matrices. You should be using A\B instead of inv(A)*B.

Sign in to comment.

Answers (1)

the cyclist
the cyclist on 28 Apr 2013
The cond() function returns the condition number.
>> doc cond
for details.

Community Treasure Hunt

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

Start Hunting!