fix

Округление в сторону нуля

Синтаксис

Описание

пример

y = fix(a) раунды fi объект a до ближайшего целого числа в направлении нуля и возвращает результат в fi объект y.

Примеры

свернуть все

Следующий пример демонстрирует как fix функция влияет на numerictype свойства fi со знаком объект с размером слова 8 и дробной длиной 3.

a = fi(pi,1,8,3)
a = 
    3.1250

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 8
        FractionLength: 3
y = fix(a)
y = 
     3

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 5
        FractionLength: 0

Следующий пример демонстрирует как fix функция влияет на numerictype свойства fi со знаком объект с размером слова 8 и дробной длиной 12.

a = fi(0.025,1,8,12)
a = 
    0.0249

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 8
        FractionLength: 12
y = fix(a)
y = 
     0

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 2
        FractionLength: 0

Функции ceilфиксация, и floor отличайтесь по пути они вокруг fi объекты:

  • ceil функционируйте значения раундов до ближайшего целого числа к положительной бесконечности.

  • fix функционируйте значения раундов до ближайшего целого числа к нулю.

  • floor функционируйте значения раундов до ближайшего целого числа к отрицательной бесконечности.

Этот пример иллюстрирует эти различия для данного fi входной объект a.

a = fi([-2.5,-1.75,-1.25,-0.5,0.5,1.25,1.75,2.5]');
y = [a ceil(a) fix(a) floor(a)]
y=8×4 object
   -2.5000   -2.0000   -2.0000   -3.0000
   -1.7500   -1.0000   -1.0000   -2.0000
   -1.2500   -1.0000   -1.0000   -2.0000
   -0.5000         0         0   -1.0000
    0.5000    1.0000         0         0
    1.2500    2.0000    1.0000    1.0000
    1.7500    2.0000    1.0000    1.0000
    2.5000    3.0000    2.0000    2.0000

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 16
        FractionLength: 13

plot(a,y); legend('a','ceil(a)','fix(a)','floor(a)','location','NW');

Figure contains an axes. The axes contains 4 objects of type line. These objects represent a, ceil(a), fix(a), floor(a).

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

свернуть все

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

Для комплексного fi объекты, мнимые и действительные части округлены независимо.

fix не поддерживает fi объекты с нетривиальным наклоном и масштабированием смещения. Масштабирование наклона и смещения тривиально, когда наклон является целочисленной степенью 2, и смещение 0.

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

Алгоритмы

  • y и a имейте тот же fimath объект и DataType свойство.

  • Когда DataType свойство a single'double', или boolean, numerictype из y совпадает с тем из a.

  • Когда дробная длина a нуль или отрицательный, a уже целое число и numerictype из y совпадает с тем из a.

  • Когда дробная длина a положительно, дробная длина y 0, его знак совпадает со знаком a, и его размер слова является различием между размером слова и дробной длиной a, плюс один бит. Если a подписывается, затем минимальный размер слова y 2. Если a без знака, затем минимальный размер слова y 1.

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

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

Генерация HDL-кода
Сгенерируйте Verilog и код VHDL для FPGA и проекты ASIC с помощью HDL Coder™.

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

| | | |

Введенный в R2008a