Существует два способа совместного использования fimath
свойства в программном обеспечении Fixed-Point Designer™:
Совместное использование fimath
свойства по всему fi
объекты гарантируют, что fi
объекты используют одни и те же арифметические правила и помогают избежать "несоответствий fimath
"ошибки.
Вы можете убедиться, что ваш fi
все объекты используют одинаковые fimath
свойства без указания локального fimath. Чтобы гарантировать отсутствие локальной fimath
связан с fi
объект, можно:
Создайте fi
объект с использованием fi
конструктор без указания каких-либо fimath
свойства в вызове конструктора. Для примера:
a = fi(pi)
Создайте fi
объект с использованием sfi
или ufi
конструктор. Все fi
объекты, созданные с помощью этих конструкторов, не имеют локального fimath.
b = sfi(pi)
Использовать removefimath
для удаления локального fimath
объект из существующего fi
объект.
Можно также использовать 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