diff --git a/core/id.m b/core/id.m index c18cb9d..1c5c0c7 100644 --- a/core/id.m +++ b/core/id.m @@ -56,6 +56,9 @@ assert(rrqr_iter >= 0,'FLAM:id:invalidRRQRIter', ... 'Maximum number of RRQR iterations must be nonnegative.') + % suppress nearly singular matrix warning + warnStruct = warning('off','MATLAB:nearlySingularMatrix'); + % initialize [m,n] = size(A); niter = 0; @@ -64,6 +67,9 @@ if isempty(A) sk = []; rd = 1:n; T = zeros(0,n); + + % revert nearly singular matrix warning to previous state + warning(warnStruct); return end @@ -82,6 +88,9 @@ if isempty(free) sk = fixed; rd = []; T = zeros(nfix,0); + + % revert nearly singular matrix warning to previous state + warning(warnStruct); return; end @@ -245,4 +254,7 @@ sk = [fixed free(sk)]; rd = [free(rd)]; end + + % revert nearly singular matrix warning to previous state + warning(warnStruct); end \ No newline at end of file