NaN for zero divide by zero.
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Will illustrate with an example, I.e:
a = (0:0.1:1); b = (1-a)*2./(1-a);
Matlab will output the end value in b as NaN, when in reality b should converge to 2 for a = 1.
How can I avoid this?
0 Kommentare
Akzeptierte Antwort
Matt Fig
am 6 Apr. 2011
There are two things to remember when looking at this problem.
1. A function having a limit as the independent variable approaches a point does not imply that the function value at that point is defined. You plugged in for the function value at that point. The fact that you get NAN says nothing about the limit of the function as the independent variable approaches that point.
2. NAN is the correct value when evaluating the function at that point. This is a standard double precision definition.
4 Kommentare
Weitere Antworten (3)
Walter Roberson
am 6 Apr. 2011
In order to avoid this, you will need to use the symbolic toolbox.
MATLAB is giving the correct numeric answer according to IEEE 754 floating point definitions. MATLAB works with actual values computed on real machines, not with limits or ideal values. See for example this portion of the FAQ
0 Kommentare
Siehe auch
Kategorien
Mehr zu Logical 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!