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

Масштабирование выхода в формате Slope или [Slope Bias]. Если 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