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 >> |
