Smallest positive number in MATLAB

165 visualizzazioni (ultimi 30 giorni)
Dyuman Joshi
Dyuman Joshi il 27 Apr 2021
Commentato: Dyuman Joshi il 30 Apr 2021
I recently stumbled upon a question on Cody (#1874), which asked the user to input the smallest in MATLAB.
As per my knowledge, realmin was supposed to return the smallest number in MATLAB, however that number is the smallest normalized floating point number. According to this thread of Stack overflow, it says eps(0) returns the smallest denormal number available in MATLAB.
However, my question is how eps(0) is denormal?
> realmin returns 2.2251e-308, where as eps(0) returns 4.9407e-324

Risposta accettata

Stephen23
Stephen23 il 27 Apr 2021
Modificato: Stephen23 il 27 Apr 2021
eps(0) returns the smallest positive non-zero floating point number, which is denormal:
format hex
eps(0)
ans =
0000000000000001
Normal and denormal floating point numbers are explained here:
From the main architect of IEEE 754 (the term "gradual underflow" refers to denormal numbers):
  2 Commenti
Dyuman Joshi
Dyuman Joshi il 27 Apr 2021
Thanks for all the resources, @Stephen Cobeldick. I'll try to go through them all.
Dyuman Joshi
Dyuman Joshi il 30 Apr 2021
Apparently I misunderstood the definition of a denormal (base 10 instead of base 2). Thank you for your answer and the links!

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by