How to use the small positive float number?
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Hi everyone
I am writing the code in which I need to deal with quite small number like
A = (1/2^8)^512
When I run this line, matlab gives back 0 as the results. However, I need this number to be multiplied with other big numbers.
How can I save the real value of variable A?
Many thanks,
Regards
0 Commenti
Risposte (1)
Guillaume
il 15 Mag 2015
Modificato: Guillaume
il 15 Mag 2015
In plain matlab, you cannot represent such a number as it's way outside the range that a double can represent. The exponent part of a double is 11 bits, offset by 1023, so the minimum number that can be represented by a double is around 2^-1023 (the true minimum is 2^-1074), your number is 2^-4096!
You would have to use vpa from the Symbolic math toolbox (I know nothing about it, I don't have it), or go through Java's BigDecimal, or look through the file exchange for an arbitrary precision type.
0 Commenti
Vedere anche
Categorie
Scopri di più su Elementary Math in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!