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 объекты. Следующий пример показывает создание 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