конвергентный

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

Синтаксис

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

Описание

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

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

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 функций, 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

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

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

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

| | | |

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