From 99a7b45456d056f69ed105d5adecdd5d2b96ff45 Mon Sep 17 00:00:00 2001 From: Tristan Goodwill <48371600+tristangdwl@users.noreply.github.com> Date: Wed, 2 Apr 2025 11:24:11 -0500 Subject: [PATCH 1/3] suppresss rcond warning in id --- core/id.m | 3 +++ 1 file changed, 3 insertions(+) diff --git a/core/id.m b/core/id.m index c18cb9d..d5008e1 100644 --- a/core/id.m +++ b/core/id.m @@ -56,6 +56,8 @@ assert(rrqr_iter >= 0,'FLAM:id:invalidRRQRIter', ... 'Maximum number of RRQR iterations must be nonnegative.') + warnStruct = warning('off','MATLAB:nearlySingularMatrix'); + % initialize [m,n] = size(A); niter = 0; @@ -245,4 +247,5 @@ sk = [fixed free(sk)]; rd = [free(rd)]; end + warning(warnStruct); end \ No newline at end of file From 908a83cf45e568052d041798bd1cfde6be7e81f6 Mon Sep 17 00:00:00 2001 From: Tristan Goodwill <48371600+tristangdwl@users.noreply.github.com> Date: Wed, 2 Apr 2025 11:25:54 -0500 Subject: [PATCH 2/3] add warning comments in id --- core/id.m | 3 +++ 1 file changed, 3 insertions(+) diff --git a/core/id.m b/core/id.m index d5008e1..72b4511 100644 --- a/core/id.m +++ b/core/id.m @@ -56,6 +56,7 @@ 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 @@ -247,5 +248,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 From 4a9a67c5755b7bd4b83c91e7ac81b612fbe69e3d Mon Sep 17 00:00:00 2001 From: Tristan Goodwill <48371600+tristangdwl@users.noreply.github.com> Date: Wed, 2 Apr 2025 11:40:33 -0500 Subject: [PATCH 3/3] fixed warning management in ID with early return --- core/id.m | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/core/id.m b/core/id.m index 72b4511..1c5c0c7 100644 --- a/core/id.m +++ b/core/id.m @@ -67,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 @@ -85,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