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