繁体   English   中英

R中的log2:如何计算指数和尾数

[英]log2 in R: How to calculate the exponent and mantissa

有谁知道如何在R中执行相同的MATLAB函数[F,E] = log2(X)

[F,E] = log2(X)返回数组F和E,使得X = F * 2 ^ E。 F中的值通常在0.5 <= abs(F)<1的范围内。

参见https://www.mathworks.com/help/matlab/ref/log2.html

例如在MATLAB中,

[F,E] = log2(15)

F =

 0.9375 

E =

  4 

从而,

F * 2 ^ E = 15

您需要手动计算它们。 我认为没有内置函数可以提取它们。 尝试这个:

x<-15
E <- ifelse(x == 0, 0, floor(log2(abs(x)))+1 )
F<-x/2^E

编辑:对于x == 0进行更改。

我不确定您要问的是什么,但是log2给您R的对数以2为底。例如

log2(2);
#[1] 1

log2(2^10)
#[1] 10

2^(log2(10))
#[1] 10

有关详细信息,请参见?log

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM