round

Вокруг fi объект к самому близкому целому числу или круглым входным данным с помощью quantizer объект

Синтаксис

y = round(a)
y = round(q,x)

Описание

y = round(a) раунды fi объект a к самому близкому целому числу. В случае связи, round значения раундов к самому близкому целому числу с большим абсолютным значением. Округленное значение возвращено в fi объект y.

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.

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

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

y = round(q,x) использует RoundingMethod и FractionLength настройки q к раунду числовые данные x, но не проверяет на переполнение во время операции. Введите x должна быть встроенная числовая переменная. Используйте cast функционируйте, чтобы работать с fi объекты.

Примеры

Пример 1

Следующий пример демонстрирует как round функция влияет на 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 = round(a) 

y =
 
     3

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

Пример 2

Следующий пример демонстрирует как round функция влияет на 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 = round(a) 

y =
 
     0

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

Пример 3

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

  • convergent функционируйте связи раундов с самым близким даже целое число

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

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

Следующая таблица иллюстрирует эти различия для данного fi объект a.

aконвергентный (a)самый близкий (a)раунд (a)
–3.5–4–3–4
–2.5–2–2–3
–1.5–2–1–2
–0.500–1
0.5011
1.5222
2.5233
3.5444

Квантуйте вход

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

q = quantizer('fixed', 'convergent', 'wrap', [3 2]);
x = (-2:eps(q)/4:2)';
y = round(q,x);
plot(x,[x,y],'.-'); 
axis square;

Применение квантизатора возражает, что q к данным привел к форме лестницы выходной график. Линейный ввод данных приводит к выходу, где y показывает отличные уровни квантования.

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

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

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

| | | | | |

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