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, fix, и floor отличаются тем, как они округляют fi объекты:

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

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

  • The 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++ с помощью Coder™ MATLAB ®

.

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

См. также

| | | |

Введенный в R2008a
Для просмотра документации необходимо авторизоваться на сайте