Can I have higher precision while counting with long numbers?
2 次查看(过去 30 天)
显示 更早的评论
I wrote function for the number of non-isomorphic graphs on n vertices using Burnside lemma. Function returns correct numbers only for n<14. But for n=14 it returns 29054155657235472 instead of 29054155657235488 and for n>14 there are lots of zeros at the end of the number. I got correct number when I tried to count it for n=14 with the same algorithm in Maple, so algorithm should be right.
And if I can get higher precision, how can I display whole number instead of 3.1426e+19 for n=15 etc?
1 个评论
Stephen23
2015-5-2
@Jakub Závada: this precision limit exists because MATLAB uses the IEEE 754 floating point classes "double" and "single", which of course have a finite precision. This clearly documented and is expected behavior for any numeric calculation, language or program that ueses these data classes:
https://en.wikipedia.org/wiki/Double-precision_floating-point_format
Numeric computation is not the same thing as symbolic calculation!
回答(1 个)
James Tursa
2015-5-1
If you have the symbolic toolbox you can use vpa. If not, then you might look into these two FEX submissions by John D'Errico:
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Numbers and Precision 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!