В программном обеспечении Fixed-Point Designer™ fipref
объект определяет графические свойства fi
объекты. Примеры кода обычно показывают fi
объекты как они появляются со следующими fipref
свойства объекта:
NumberDisplay
— 'RealWorldValue'
NumericTypeDisplay
— 'full'
FimathDisplay
— 'full'
Настройка '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
имеет локальный фимат.
MATLAB не отображает никаких fimath
свойства объекта в выходах fi
b объекта
потому что b
связывается с fimath по умолчанию.
Если вы работаете с несколькими fi
объекты, которые имеют локальные fimath, можно хотеть выключить fimath
отображение объектов:
NumberDisplay
— 'RealWorldValue'
NumericTypeDisplay
— 'full'
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 = logical 1
Когда isfimathlocal
функция возвращает 1
, а fi
объект имеет локальный fimath. Если функция возвращается 0
, а fi
объект использует fimath по умолчанию.
Чтобы уменьшить количество выхода еще больше, можно задать NumericTypeDisplay
на 'short'
. Для примера,
p = fipref('NumberDisplay','RealWorldValue',... 'NumericTypeDisplay','short','FimathDisplay','full'); a = fi(pi)
a = 3.1416 numerictype(1,16,13)