Используйте fipref
DataTypeOverride свойство для переопределения fi объекты с одиночными, двойными или масштабированными двойными объектами. Переопределение типа данных происходит только в том случае, если fi вызывается функция конструктора. Объекты, созданные во время переопределения типа данных, имеют переопределенный тип данных. Они поддерживают этот тип данных, когда переопределение типа данных позже отключается. Чтобы получить объект с типом данных, который не является типом данных переопределения, необходимо создать объект, когда переопределение типа данных отключено:
p = fipref('DataTypeOverride', 'TrueDoubles')
p =
NumberDisplay: 'RealWorldValue'
NumericTypeDisplay: 'full'
FimathDisplay: 'full'
LoggingMode: 'Off'
DataTypeOverride: 'TrueDoubles'
a = fi(pi)
a =
3.1416
DataTypeMode: Double
p = fipref('DataTypeOverride', 'ForceOff')
p =
NumberDisplay: 'RealWorldValue'
NumericTypeDisplay: 'full'
FimathDisplay: 'full'
LoggingMode: 'Off'
DataTypeOverride: 'ForceOff'
a
a =
3.1416
DataTypeMode: Double
b = fi(pi)
b =
3.1416
DataTypeMode: Fixed-point: binary point scaling
Signedness: Signed
WordLength: 16
FractionLength: 13
Совет
Сброс fipref объект к его значениям по умолчанию reset(fipref) или reset(p), где p является fipref объект. Это полезно для обеспечения отключения переопределения и регистрации типов данных.
Выбор масштабирования для переменных с фиксированной точкой в алгоритмах может быть затруднен. В программном обеспечении Fixed-Point Designer™ можно использовать комбинацию переопределения типа данных и регистрации min/max, чтобы помочь обнаружить числовые диапазоны, которые должны охватывать типы данных Fixed-point. Эти диапазоны определяют соответствующие масштабирования для типов данных с фиксированной точкой. В общем, процедура
Реализация алгоритма с использованием фиксированной точки fi объекты, используя начальные «наилучшие догадки» для длин слов и масштабирования.
Установите fipref
DataTypeOverride свойство для ScaledDoubles, TrueSingles, или TrueDoubles.
Установите fipref
LoggingMode свойство для on.
Используйте maxlog и minlog функции для регистрации максимальных и минимальных значений, достигнутых переменными в алгоритме в режиме с плавающей запятой.
Установите fipref
DataTypeOverride свойство для ForceOff.
Используйте информацию, полученную на шаге 4, чтобы установить масштабирование с фиксированной точкой для каждой переменной в алгоритме так, чтобы полный числовой диапазон каждой переменной был представлен ее типом данных и масштабированием.
Подробный пример этого процесса показан в примере набора типов данных конструктора фиксированных точек с использованием Min/Max Instrumentation.