exponenta event banner

ближайший

Скругление к ближайшему целому числу с закруглением связей к положительной бесконечности

Синтаксис

Описание

пример

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

Примеры

свернуть все

В следующем примере показано, как nearest функция влияет на 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 = nearest(a)
y = 
     3

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

В следующем примере показано, как nearest функция влияет на 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 = nearest(a)
y = 
     0

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

Функции convergent, nearest, и round отличаются тем, как они обрабатывают значения, наименьшая значащая цифра которых равна 5.

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

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

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

Этот пример иллюстрирует эти различия для данного входного сигнала, а.

a = fi([-3.5:3.5]');
y = [a convergent(a) nearest(a) round(a)]
y=8×4 object
   -3.5000   -4.0000   -3.0000   -4.0000
   -2.5000   -2.0000   -2.0000   -3.0000
   -1.5000   -2.0000   -1.0000   -2.0000
   -0.5000         0         0   -1.0000
    0.5000         0    1.0000    1.0000
    1.5000    2.0000    2.0000    2.0000
    2.5000    2.0000    3.0000    3.0000
    3.5000    3.9999    3.9999    3.9999

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

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

свернуть все

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

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

nearest не поддерживает 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 с использованием Coder™ HDL.

См. также

| | | |

Представлен в R2008a