convergent

Вокруг к самому близкому целому числу со связями, округляющимися к самому близкому даже целое число

Синтаксис

y = convergent(a)
y = convergent(x)

Описание

y = convergent(a) раунды fi объект a к самому близкому целому числу. В случае связи, convergent(a) раунды к самому близкому даже целое число.

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 объекты, мнимые и действительные части округлены независимо.

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

y = convergent(x) округляет элементы x к самому близкому целому числу. В случае связи, convergent(x) раунды к самому близкому даже целое число.

Примеры

Пример 1

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

y =
 
     3

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

Пример 2

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

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

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

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

| | | |

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