MATLAB Answers

Supress Warning in a Loop

23 views (last 30 days)
ercan duzgun
ercan duzgun on 24 Feb 2021
Commented: ercan duzgun on 24 Feb 2021
I have a matrix table. For each row in the table, I am using Newton-Raphson iteration. And for some variables of the table, the iteration doesn't converge, and it gives warning errors. How can I supress these warning messages?
I receive this kind of message in command window :
Warning: Matrix is singular,
close to singular or badly
scaled. Results may be
inaccurate. RCOND = NaN.
> In
SP_FK_NewtonRaphson_function
(line 8)
In fonk_cemberYont_FK (line
72)
My Newton-Raphson function file is:
function [X,i]=SP_FK_NewtonRaphson_function(verilen_L,X0)
maxIter=1000; % maximum iteration
tolX=1e-6; % Tolerance for error
X=X0;
Xold=X0;
for i=1:maxIter
[f,j]=myfunction2(verilen_L,X);
X=X-inv(j)*f;
err(:,i)=abs(X-Xold);
Xold=X;
Tablo(:,i)=X;
if (err(:,i)<tolX)
break;
end
end
end

Answers (1)

Walter Roberson
Walter Roberson on 24 Feb 2021
X=X-inv(j)*f;
replace with
if rank(j)<length(j)
X = nan;
else
X = X - j\f;
end
  3 Comments
ercan duzgun
ercan duzgun on 24 Feb 2021
@Walter Roberson Thank you very much .

Sign in to comment.

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by