Просмотрите данные фиксированной точки

В программном обеспечении 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.

Отображение свойств fimath Объектов fi

Чтобы видеть вывод, как это появляется в большинстве примеров кода 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.

Сокрытие свойств fimath Объектов fi

Если вы работаете с несколькими объектами fi, которые имеют локальный fimaths, можно хотеть выключить отображение объекта 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 =
     1

Когда функция isfimathlocal возвращает 1, объект fi имеет локальный fimath. Если функция возвращает 0, объект fi использует значение по умолчанию fimath.

Сокращение numerictype Отображения Объектов fi

Чтобы уменьшать объем вывода еще больше, можно установить NumericTypeDisplay на 'short'. Например,

p = fipref('NumberDisplay','RealWorldValue',... 
'NumericTypeDisplay','short','FimathDisplay','full');

a = fi(pi)

a =
    3.1416
      s16,13