exponenta event banner

num2fixpt

Преобразование числа в ближайшее значение, представляемое указанным типом данных с фиксированной точкой

Синтаксис

outValue = num2fixpt(OrigValue, FixPtDataType, FixPtScaling,
    RndMeth, DoSatur)

Описание

num2fixpt(OrigValue, FixPtDataType, FixPtScaling, RndMeth, DoSatur) возвращает результат преобразования OrigValue до ближайшего значения, представляемого типом данных с фиксированной точкой FixPtDataType. Оба OrigValue и outValue относятся к типу данных double. Как показано в следующем примере, можно использовать num2fixpt исследовать ошибку квантования, которая может возникнуть в результате преобразования числа в тип данных с фиксированной точкой. Аргументы num2fixpt включают:

OrigValue

Значение, преобразуемое в представление с фиксированной точкой. Необходимо указать с помощью double тип данных.

FixPtDataType

Тип данных с фиксированной точкой, используемый для преобразования OrigValue.

FixPtScaling

Масштабирование выходных данных в формате «Уклон» или «Смещение уклона». Если FixPtDataType не задает обобщенный тип данных с фиксированной точкой с помощью sfix или ufix команда, FixPtScaling игнорируется.

RndMeth

Метод округления, используемый, если тип данных с фиксированной точкой не имеет точности для представления OrigValue. Если FixPtDataType задает тип данных с плавающей запятой с помощью float команда, RndMeth игнорируется. Допустимые значения: Zero, Nearest, Ceiling, или Floor (значение по умолчанию).

DoSatur

Указывает, должен ли выход быть заполнен до минимального или максимального представимого значения при переполнении или переполнении. Если FixPtDataType задает тип данных с плавающей запятой с помощью float команда, DoSatur игнорируется. Допустимые значения: on или off (значение по умолчанию).

Примеры

Предположим, вы хотите исследовать эффект квантования, связанный с представлением реального значения 9.875 в виде подписанного 8-битного числа с фиксированной точкой. Команда

num2fixpt(9.875, sfix(8), 2^-1)

ans =

   9.50000000000000

показывает, что наклон 2^-1 приводит к ошибке квантования 0,375. Команда

num2fixpt(9.875, sfix(8), 2^-2)

ans =

   9.75000000000000

демонстрирует, что наклон 2^-2 уменьшает ошибку квантования до 0,125. Но наклон 2^-3, как используется в команде

num2fixpt(9.875, sfix(8), 2^-3)

ans =

   9.87500000000000

полностью устраняет ошибку квантования.

См. также

|

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