Кто-нибудь знает, как выполнить ту же функцию MATLAB [F,E] = log2(X) в R?
[F,E] = log2(X)
[F, E] = log2 (X) возвращает массивы F и E так, что X = F * 2 ^ E.Значения в F обычно находятся в диапазоне 0,5 <= abs (F) <1. </p>
См. https://www.mathworks.com/help/matlab/ref/log2.html
Например, в MATLAB, [F, E] = log2 (15) F = 0.9375 E = 4
Например, в 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 дает вам основание логарифма 2 в R. Например,
log2
log2(2); #[1] 1 log2(2^10) #[1] 10 2^(log2(10)) #[1] 10
Подробнее см. ?log.
?log