Smallest positive number in MATLAB

162 vues (au cours des 30 derniers jours)
Dyuman Joshi
Dyuman Joshi le 27 Avr 2021
Commenté : Dyuman Joshi le 30 Avr 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

Réponse acceptée

Stephen23
Stephen23 le 27 Avr 2021
Modifié(e) : Stephen23 le 27 Avr 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 commentaires
Dyuman Joshi
Dyuman Joshi le 27 Avr 2021
Thanks for all the resources, @Stephen Cobeldick. I'll try to go through them all.
Dyuman Joshi
Dyuman Joshi le 30 Avr 2021
Apparently I misunderstood the definition of a denormal (base 10 instead of base 2). Thank you for your answer and the links!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by