Преобразуйте число в ближайшее значение, представимое заданным типом данных с фиксированной точкой
outValue = num2fixpt(OrigValue, FixPtDataType, FixPtScaling, RndMeth, DoSatur)
num2fixpt(OrigValue, FixPtDataType, FixPtScaling,
RndMeth, DoSatur)
возвращает результат преобразования OrigValue
до ближайшего значения, представляемого типом данных с фиксированной точкой FixPtDataType
. Оба OrigValue
и outValue
имеют тип данных double
. Как проиллюстрировано в следующем примере, можно использовать num2fixpt
чтобы исследовать ошибку квантования, которая может быть результатом преобразования числа в тип данных с фиксированной точкой. Аргументы num2fixpt
включают:
| Значение, которое будет преобразовано в представление с фиксированной точкой. Должен быть задан с помощью |
| Тип данных с фиксированной точкой, используемый для преобразования |
| Масштабирование выхода в формате Slope или [Slope Bias]. Если |
| Метод округления, используемый, если тип данных с фиксированной точкой не хватает точности, чтобы представлять |
| Указывает, должен ли выход быть насыщен до минимального или максимального представимого значения при переполнении или переполнении. Если |
Предположим, что вы хотите исследовать эффект квантования, связанный с представлением реального значения 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
полностью устраняет ошибку квантования.