log2

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

Синтаксис

Описание

пример

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 = 
  Columns 1 through 5

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

  Column 6

       1/2     

E = 
  Columns 1 through 5

       1              2              2            -51           1024       

  Column 6

   -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. Входные значения InfInf, или 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