Существует два способа совместного использования 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