fixptbestprec

Определите максимальную точность, доступную для представления значения с фиксированной точкой

Синтаксис

out = fixptbestprec(RealWorldValue,TotalBits,IsSigned)
out = fixptbestprec(RealWorldValue,FixPtDataType)

Описание

out = fixptbestprec(RealWorldValue,TotalBits,IsSigned) определяет максимальную точность для представления с фиксированной точкой реального значения, заданного RealWorldValue. Вы задаете количество бит для номера фиксированной точки с TotalBits, и вы задаете, подписан ли номер с фиксированной точкой IsSigned. Если IsSigned является 1номер подписан. Если IsSigned является 0номер не подписан. Максимальная точность возвращается к out.

out = fixptbestprec(RealWorldValue,FixPtDataType) определяет максимальную точность на основе типа данных, заданного FixPtDataType.

Примеры

Пример 1

Следующая команда возвращает максимальную точность, доступную для реального значения 4/3 с помощью знакового 8-битного числа:

out = fixptbestprec(4/3,8,1)
out =
   0.015625

Кроме того, можно задать тип данных с фиксированной точкой:

out = fixptbestprec(4/3,sfix(8))
out =
   0.015625

Это значение означает, что максимальная точность, доступная для 4/3, получена путем размещения шести бит справа от двоичной точки с 2-6 равен 0,015625:

01.010101

Пример 2

Можно использовать максимальную точность в качестве масштабирования в блоках с фиксированной точкой. Это позволяет вам использовать fixptbestprec чтобы выполнить тип автомасштабирование, если вы хотите обозначить известную область значений вашей симуляции. Для примера, если ваша известная область значений составляет от -13 до 22, и вы используете запас прочности 30%:

knownMax = 22;
knownMin = -13;
localSafetyMargin = 30;
slope = max( fixptbestprec( (1+localSafetyMargin/100)* ...
 [knownMax,knownMin], sfix(16) ) );

Переменная slope может затем использоваться в выражении, заданном для параметра Output data type в маске блока. Убедитесь, что в том же блоке установлен флажок Блокировать тип выходных данных от изменений с помощью инструментов с фиксированной точкой, чтобы предотвратить переопределение масштабирования Fixed-Point Tool. Если вы знаете область значений, можно использовать этот метод вместо того, чтобы полагаться на симуляцию модели, чтобы предоставить область значений для инструмента автомасштабирования, как описано в autofixexp (Fixed-Point Designer).

См. также

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