Используйте 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, чтобы помочь вам обнаружить числовые области значений, которые должны охватывать ваши типы данных с фиксированной точкой. Эти области значений диктуют соответствующие масштабирования для типов данных с фиксированной точкой. В целом процедура является
Реализуйте свой алгоритм с помощью fi
с фиксированной точкой объекты, используя начальные «лучшие догадки» для размеров слова и масштабирования.
Установите fipref
DataTypeOverride
свойство к ScaledDoubles
, TrueSingles
, или TrueDoubles
.
Установите fipref
LoggingMode
свойство к on
.
Используйте maxlog
и minlog
функции для регистрации максимального и минимального значений, достигнутых переменными в вашем алгоритме в режиме с плавающей точкой.
Установите fipref
DataTypeOverride
свойство к ForceOff
.
Используйте информацию, полученную на шаге 4, чтобы задать масштабирование с фиксированной точкой для каждой переменной в вашем алгоритме таким образом, чтобы полная численная область значений каждой переменной был представляема ее типом данных и масштабированием.
Подробный пример этого процесса показан в примере Fixed-Point Designer Set Types Using Min/Max Instrumentation.