Rac*_*hel 6 matlab scientific-notation matrix exponent
当数字非常小时,Matlab会自动将它们格式化为科学记数法.
例:
A = rand(3) / 10000000000000000;
A =
1.0e-016 *
0.6340 0.1077 0.6477
0.3012 0.7984 0.0551
0.5830 0.8751 0.9386
Run Code Online (Sandbox Code Playgroud)
是否有一些内置函数返回指数?像这样的东西:getExponent(A) = -16?
我知道这是一个愚蠢的问题,但我需要检查数百个矩阵,我似乎无法弄明白.
谢谢您的帮助.
Ala*_*ain 15
基础数学可以告诉你:
floor(log10(N))
Run Code Online (Sandbox Code Playgroud)
数字的对数基数10告诉您大约在该数字前面的小数位数.
例如,99987123459823754是9.998E+016
log10(99987123459823754)它16.9999441的底板是16- 它基本上可以告诉你"科学记数法中的指数是16,非常接近17".
地板总是向下舍入,所以你不必担心小指数:
0.000000000003754 = 3.754E-012
log10(0.000000000003754) = -11.425
floor(log10(0.000000000003754)) = -12
Run Code Online (Sandbox Code Playgroud)