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