вокруг

Круглый объект 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 совпадает с numerictype a.

Когда дробная длина a является нулем или отрицательный, a уже является целым числом, и numerictype y совпадает с numerictype 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 функций, nearest и 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