Вычтите два объекта с помощью объекта fimath
c = sub(F,a,b)
c = sub(F,a,b)
вычитает возражает a
и b
с помощью объекта fimath
F
. Это полезно в случаях когда это необходимо, чтобы заменить объекты fimath
a
и b
, или если свойства fimath
, сопоставленные с a
и b
, отличаются. Объект c
вывода fi
не имеет никакого локального fimath.
a
и b
должны и быть объектами fi
и должны иметь те же размерности, если каждый не скаляр. Если или a
или b
являются скаляром, то c
имеет размерности нескалярного объекта.
В этом примере c
является 32-битным различием a
и b
с дробной длиной 16.
a = fi(pi); b = fi(exp(1)); F = fimath('SumMode','SpecifyPrecision',... 'SumWordLength',32,'SumFractionLength',16); c = sub(F, a, b) c = 0.4233 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 32 FractionLength: 16
c = sub(F,a,b)
подобен
a.fimath = F; b.fimath = F; c = a - b c = 0.4233 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 32 FractionLength: 16 RoundingMethod: Nearest OverflowAction: Saturate ProductMode: FullPrecision SumMode: SpecifyPrecision SumWordLength: 32 SumFractionLength: 16 CastBeforeSum: true
но не идентичный. Когда вы используете sub
, свойства fimath
a
и b
не изменяются, и объект c
вывода fi
не имеет никакого локального fimath. Когда вы используете синтаксис c = a - b
, где a
и b
имеют их собственные объекты fimath
, объект c
вывода fi
присвоен тот же объект fimath
как входные параметры a
и b
. См. Правила fimath для Вычислений с фиксированной точкой в Руководстве пользователя Fixed-Point Designer™ для получения дополнительной информации.