log2
логарифм по основанию 2. Экспонента по основанию 2 и мантисса некоторых вещественных чисел.
Синтаксис
y = log2(x) [m, e] = log2(u)
Аргументы
- x, y
массивы десятичных или комплексных чисел, такие, что
2.^y = x
.- u, m, e
массивы десятичных чисел, такие, что
u = m .* 2.^e
, приsign(m)=sign(u)
и0.5 ≤ abs(m) < 1
.
Описание
log2(x)
является поэлементным логарифмом по основанию 2
y(i,j) = log2(x(i,j))
.
log2(-%inf) == %inf + log2(-1) |
[m, e] = log2(u)
вычисляет поэлементно мантиссу по основанию 2
m
и экспоненту e
каждого элемента
u
. Следовательно, для любого индекса k
имеем
u(k) = m(k) .* 2.^e(k)
при 0.5 ≤ |m(k)| < 1
.
|
Примеры
Логарифм по основанию 2:
L = log2([-1, 1, 2, %i, -%i]) clean(2.^L) L = log2([0 %nan %inf]) 2 .^ L L = log2([0 %nan %inf -%inf]) // -%inf<0 превращает результат в комплексный вид 2 .^ L // -Inf не получится
--> L = log2([-1, 1, 2, %i, -%i]) L = 4.5323601i 0. 1. 2.2661801i -2.2661801i --> clean(2.^L) ans = -1. 1. 2. i -i --> L = log2([0 %nan %inf]) L = -Inf Nan Inf --> 2 .^ L ans = 0. Nan Inf --> L = log2([0 %nan %inf -%inf]) // -%inf<0 превращает результат в комплексный вид L = -Inf Nan + Nani Inf Inf + 4.5323601i --> 2 .^ L // -Inf не получится ans = 0. Nan + Nani Inf Nan + Nani
Разложение на мантиссу по основанию 2 + экспоненту:
[m, e] = log2([-3, -1.5, -1, 0, 4, 1e20]) m .* 2.^e
--> [m, e] = log2([-3, -1.5, -1, 0, 4, 1e20]) e = 2. 1. 1. 0. 3. 67. m = -0.75 -0.75 -0.5 0. 0.5 0.6776264 --> m .* 2.^e ans = -3. -1.5 -1. 0. 4. 1.000D+20
np = number_properties; x = [%eps np("tiniest") np("tiny") np("huge")] [m, e] = log2(x)
--> x = [%eps np("tiniest") np("tiny") np("huge")] x = 2.220D-16 4.94D-324 2.22D-308 1.79D+308 --> [m, e] = log2(x) e = - 51. - 1073. - 1021. 1024. m = 0.5 0.5 0.5 1.
[m, e] = log2([0 %nan -%inf %inf]) m .* 2.^e
-->[m, e] = log2([0 %nan -%inf %inf]) e = 0. 0. 0. 0. m = 0. Nan - Inf Inf -->m .* 2.^e ans = 0. Nan - Inf Inf
Смотрите также
Report an issue | ||
<< log1p | логарифм - экспонента - степень | logm >> |