Filter löschen
Filter löschen

how to use dbstop if naninf

9 Ansichten (letzte 30 Tage)
Habib
Habib am 10 Mai 2013
Kommentiert: John Hatrick am 16 Mär. 2018
I want to ask matlab to stop anywhere in my functions, a variable becomes nan or inf. I defined a function buggy(x) (which is a matlab example in help page of dbstop).
function z = buggy(x)
n = length(x);
u=8/0
z = (1:n)./x;
I just added one line ( u=8/0) to see how dbstop if naninf works. when I ran, matlab started violating. The response is in the following code:
>> dbstop if naninf
>> buggy(3)
u =
Inf
NaN/Inf breakpoint hit for buggy on line 3.
Stopping at next line.
3 u=8/0
4 z = (1:n)./x;
20 if ~isfloat(value)
20 if ~isfloat(value)
399 if numel(var) > numelLimit
20 if ~isfloat(value)
20 if ~isfloat(value)
399 if numel(var) > numelLimit
20 if ~isfloat(value)
20 if ~isfloat(value)
399 if numel(var) > numelLimit
20 if ~isfloat(value)
20 if ~isfloat(value)
399 if numel(var) > numelLimit
20 if ~isfloat(value)
20 if ~isfloat(value)
399 if numel(var) > numelLimit
20 if ~isfloat(value)
20 if ~isfloat(value)
399 if numel(var) > numelLimit
20 if ~isfloat(value)
20 if ~isfloat(value)
399 if numel(var) > numelLimit
20 if ~isfloat(value)
...and continuing...
and matlab stays in debugging mode and if I try doing something in matlab, it freezez.
Am I using dbstop in a wrong syntax or a wrong place?
I want matlab to stop and any inf/nan that that I have produced in my own codes. apparently it stops in its own built-in matlab files as well.
  1 Kommentar
John Hatrick
John Hatrick am 16 Mär. 2018
I have this problem too!
setting 'dbstop if naninf' finds tons of inf statements in MATLAB scripts I'm not using such as 'fsolve.m' and 'trustnleq.m.'
I want to find if a variable goes NaN; I don't care if the phrase 'inf' shows up in a script...
Respectfully, John

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Matt J
Matt J am 10 Mai 2013
You're definitely not doing anything wrong. It works fine for me. What version of MATLAB is this? Maybe try again after restarting MATLAB? Or maybe try reinstalling.
  1 Kommentar
Habib
Habib am 11 Mai 2013
Matlab 2009a. I have to upgrade to the 2012b in a few days. Thanks buddy for trying the code.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Debugging and Analysis finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by