fimath для совместного использования арифметических правил

Существует два способа совместного использования fimath свойства в программном обеспечении Fixed-Point Designer™:

Совместное использование fimath свойства по всему fi объекты гарантируют, что fi объекты используют одни и те же арифметические правила и помогают избежать "несоответствий fimath"ошибки.

Использование по умолчанию fimath для совместного использования арифметических правил

Вы можете убедиться, что ваш fi все объекты используют одинаковые fimath свойства без указания локального fimath. Чтобы гарантировать отсутствие локальной fimath связан с fi объект, можно:

  • Создайте fi объект с использованием fi конструктор без указания каких-либо fimath свойства в вызове конструктора. Для примера:

    a = fi(pi)
  • Создайте fi объект с использованием sfi или ufi конструктор. Все fi объекты, созданные с помощью этих конструкторов, не имеют локального fimath.

    b = sfi(pi)
  • Использовать removefimath для удаления локального fimath объект из существующего fi объект.

Локальное использование fimath для совместного использования арифметических правил

Можно также использовать fimath объект, чтобы задать общие арифметические правила, которые вы хотели бы использовать для нескольких fi объекты. Затем можно создать fi объекты, используя ту же fimath объект для каждого. Для этого необходимо также создать numerictype объект для определения общего типа данных и масштабирования. Для получения дополнительной информации о numerictype объекты. Следующий пример показывает создание numerictype объект и fimath объект, а затем использует эти объекты для создания двух fi объекты с тем же numerictype и fimath атрибуты:

T = numerictype('WordLength',32,'FractionLength',30)
T =
 

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 32
        FractionLength: 30
F = fimath('RoundingMethod','Floor',...
       'OverflowAction','Wrap')
F =
 

        RoundingMethod: Floor
        OverflowAction: Wrap
           ProductMode: FullPrecision
               SumMode: FullPrecision
a = fi(pi, T, F)
a =
 
   -0.8584


          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 32
        FractionLength: 30

        RoundingMethod: Floor
        OverflowAction: Wrap
           ProductMode: FullPrecision
               SumMode: FullPrecision
b = fi(pi/2, T, F)
b =
 
    1.5708


          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 32
        FractionLength: 30

        RoundingMethod: Floor
        OverflowAction: Wrap
           ProductMode: FullPrecision
               SumMode: FullPrecision