Smallest positive number in MATLAB

162 views (last 30 days)
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

Accepted Answer

Stephen23
Stephen23 on 27 Apr 2021
Edited: Stephen23 on 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 Comments
Dyuman Joshi
Dyuman Joshi on 27 Apr 2021
Thanks for all the resources, @Stephen Cobeldick. I'll try to go through them all.
Dyuman Joshi
Dyuman Joshi on 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!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!