How to identify an iteration that throws a warning/error?
4 ビュー (過去 30 日間)
古いコメントを表示
I have a for-loop and some iterations are throwing warnings. I would like to know which iterations are the ones throwing the warning. Here is what I have tried:
errclass = zeros(1,nODF);
lastwarn(''); % reset warning state
for i = 1:nODF
DO STUFF (including computing eigenvalues of a matrix)
% check for error
[warnmsg, msgid] = lastwarn;
if ~strcmp(msgid,'')
errclass(i) = 1;
end
lastwarn(''); % reset warning state
end
However, when I evaluate sum(errclass) I get that only 8 warnings were thrown. As you can see in the attached document, which is what I see in the command window, there are far more than 8 warnings thrown, so this is somehow missing many of the warnings. Any suggestions?
0 件のコメント
回答 (2 件)
Image Analyst
2016 年 2 月 12 日
Try
dbstop if warning
or else just step through a line at a time until the warning gets printed in the command window.
2 件のコメント
Image Analyst
2016 年 2 月 13 日
If you want to turn off warnings, read the comments in the attached file and see how I do it for some warnings I want to suppress. The comments will tell you how to suppress the warning.
Walter Roberson
2016 年 2 月 12 日
"DO STUFF" might be throwing multiple warnings for the same iteration. That would make the number of emitted warnings larger than the number of iterations for which warnings were counted.
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Startup and Shutdown についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!