log2

Основывайте 2 логарифма и рассечение числа с плавающей запятой

Синтаксис

Y = log2(X)
[F,E] = log2(X)

Описание

пример

Y = log2(X) вычисляет основу 2 логарифма элементов X, таким образом что 2Y=X.

пример

[F,E] = log2(X) возвращает массивы F и E, таким образом что X=F2E. Значения в F обычно находятся в области значений 0.5 <= abs(F) < 1.

Примеры

свернуть все

X = [0 1 2 10 Inf NaN];
Y = log2(X)
Y = 1×6

      -Inf         0    1.0000    3.3219       Inf       NaN

Разделите несколько чисел в экспоненту и мантиссу. Эти операции все следуют за стандартной арифметикой IEEE®.

Создайте вектор X, который содержит несколько тестовых значений. Вычислите экспоненту и мантиссу для каждого номера.

X = [1 pi -3 eps realmax realmin];
format rat
[F,E] = log2(X)
F = 1×6

       1/2          355/452         -3/4            1/2            1              1/2     

E = 1×6

       1              2              2            -51           1024          -1021       

Соберите результаты в таблице. Преобразуйте числа в векторы символов в целях отображения.

x = {'1','pi','-3','eps','realmax','realmin'}';
f = strtrim(cellstr(rats(F')));
T = table(x,f,E','VariableNames',{'Value','Mantissa','Exponent'})
T=6×3 table
      Value      Mantissa     Exponent
    _________    _________    ________

    '1'          '1/2'             1  
    'pi'         '355/452'         2  
    '-3'         '-3/4'            2  
    'eps'        '1/2'           -51  
    'realmax'    '1'            1024  
    'realmin'    '1/2'         -1021  

Результаты показывают что для первой строки, 1=12(21). Точно так же для четвертой строки, eps=12(2-51).

Входные параметры

свернуть все

Введите матрицу, заданную как скаляр, вектор, матрица или многомерный массив.

Для рассечения числа с плавающей запятой [F,E] = log2(X) любые нули в X производят F = 0 и E = 0. Входные значения Inf, -Inf или NaN возвращены неизменные в F с соответствующей экспонентой E = 0.

Типы данных: single | double
Поддержка комплексного числа: Да

Выходные аргументы

свернуть все

Основывайте 2 значения логарифма, возвращенные как скаляр, вектор, матрица или многомерный массив, одного размера как X.

Значения мантиссы, возвращенные как скаляр, вектор, матрица или многомерный массив, одного размера как X. Значения в F и E удовлетворяют X = F.*2.^E.

Значения экспоненты, возвращенные как скаляр, вектор, матрица или многомерный массив, одного размера как X. Значения в F и E удовлетворяют X = F.*2.^E.

Советы

  • Эта функция соответствует функции ANSI® C frexp() и IEEE® стандартная функция с плавающей точкой logb(). Любые нули в X производят F = 0 и   E = 0.

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Смотрите также

| |

Представлено до R2006a