В программном обеспечении Fixed-Point Designer™, fipref
объект определяет свойства отображения fi
объекты. Примеры кода обычно показывают fi
объекты, когда они появляются со следующим fipref
свойства объектов:
NumberDisplay
— 'RealWorldValue'
NumericTypeDisplay
полный
FimathDisplay
полный
Установка 'FimathDisplay'
к 'full'
обеспечивает быстрый и простой способ дифференцироваться между fi
объекты с локальным fimath и теми, которые сопоставлены со значением по умолчанию fimath. Когда 'FimathDisplay'
установлен в 'full'
, MATLAB® отображает fimath
свойства объектов для fi
объекты с локальным fimath. MATLAB никогда не отображает fimath
свойства объектов для fi
объекты, которые сопоставлены со значением по умолчанию fimath. Из-за этого различия в отображении можно сказать когда fi
объект сопоставлен со значением по умолчанию fimath только путем рассмотрения выхода.
Кроме того, если в противном случае не задано, примеры в документации Fixed-Point Designer используют следующую настройку по умолчанию fimath:
RoundingMethod: Nearest OverflowAction: Saturate ProductMode: FullPrecision SumMode: FullPrecision
Для получения дополнительной информации о настройках отображения обратитесь к fi Настройкам Отображения объектов Используя fipref.
Чтобы видеть выход, как это появляется в большинстве примеров кода Fixed-Point Designer, устанавливает ваш fipref
свойства можно следующим образом и создают два fi
объекты:
p = fipref('NumberDisplay', 'RealWorldValue',... 'NumericTypeDisplay', 'full', 'FimathDisplay', 'full'); a = fi(pi,'RoundingMethod', 'Floor', 'OverflowAction', 'Wrap') b = fi(pi)
MATLAB возвращает следующее:
a = 3.1415 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 16 FractionLength: 13 RoundingMethod: Floor OverflowAction: Wrap ProductMode: FullPrecision SumMode: FullPrecision b = 3.1416 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 16 FractionLength: 13
MATLAB отображает fimath
свойства объектов в выходе fi
объект a
потому что a
имеет локальный fimath.
MATLAB не отображает fimath
свойства объектов в выходе fi
объект b
потому что b
сопоставляет себя со значением по умолчанию fimath.
Если вы работаете с несколькими fi
объекты, которые имеют локальный fimaths, можно хотеть выключить fimath
отображение объектов:
NumberDisplay
— 'RealWorldValue'
NumericTypeDisplay
полный
FimathDisplay
'none'
Например,
p = fipref('NumberDisplay','RealWorldValue',... 'NumericTypeDisplay','full','FimathDisplay','none') p = NumberDisplay: 'RealWorldValue' NumericTypeDisplay: 'full' FimathDisplay: 'none' LoggingMode: 'Off' DataTypeOverride: 'ForceOff' F = fimath('RoundingMethod','Floor','OverflowAction','Wrap'); a = fi(pi, F) a = 3.1415 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 16 FractionLength: 13
Несмотря на то, что эта установка помогает уменьшить объем произведенного выхода, это также лишает возможности говорить от выхода ли fi
возразите использует значение по умолчанию fimath. Для этого можно использовать isfimathlocal
функция. Например,
isfimathlocal(a) ans = 1
Когда isfimathlocal
функция возвращает 1
, fi
объект имеет локальный fimath. Если функция возвращает 0
, fi
возразите использует значение по умолчанию fimath.
Чтобы уменьшать объем выхода еще больше, можно установить NumericTypeDisplay
к 'short'
. Например,
p = fipref('NumberDisplay','RealWorldValue',... 'NumericTypeDisplay','short','FimathDisplay','full'); a = fi(pi) a = 3.1416 s16,13