Вычтите два объекта с помощью fimath
объект
c = sub(F,a,b)
c = sub(F,a,b)
вычитает возражает a
и b
использование fimath
объект F
. Это полезно в случаях, когда это необходимо, чтобы заменить fimath
объекты a
и b
, или если fimath
свойства сопоставлены с a
и b
отличаются. Выход fi
объект c
не имеет никакого локального 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
не изменяются, и выход fi
объект c
не имеет никакого локального fimath. Когда вы используете синтаксис c = a - b
, где a
и b
имейте их собственный fimath
объекты, выход fi
объект c
присвоен тот же fimath
возразите как входные параметры a
и b
. См. Правила fimath для Вычислений с фиксированной точкой в Руководстве пользователя Fixed-Point Designer™ для получения дополнительной информации.