exponenta event banner

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 в маске блока. Убедитесь, что в том же блоке установлен флажок Блокировать тип выходных данных с учетом изменений с помощью инструментов с фиксированной точкой, чтобы предотвратить переопределение масштабирования инструментом с фиксированной точкой. Если диапазон известен, можно использовать этот метод вместо использования моделирования модели для предоставления диапазона инструменту автоматического масштабирования, как описано в разделе autofixexp (Конструктор фиксированных точек).

См. также

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