Умножьте два объекта с помощью fimath объект
c = mpy(F,a,b)
c = mpy(F,a,b) выполняет поэлементное умножение на a и b использование fimath объект F. Это полезно в случаях, когда это необходимо, чтобы заменить fimath объекты a и b, или если fimath свойства сопоставлены с a и b отличаются. Выход fi объект c не имеет никакого локального fimath.
a и b может оба быть fi объекты с теми же размерностями, если каждый не скаляр. Если любой a или b скаляр, затем c имеет размерности нескалярного объекта. a и b может также быть удваивается, одиночные игры или целые числа.
В этом примере, c 40-битный продукт a и b с дробной длиной 30.
a = fi(pi); b = fi(exp(1)); F = fimath('ProductMode','SpecifyPrecision',... 'ProductWordLength',40,'ProductFractionLength',30); c = mpy(F, a, b)
c =
8.5397
DataTypeMode: Fixed-point: binary point scaling
Signedness: Signed
WordLength: 40
FractionLength: 30
c = mpy(F,a,b) похоже на
a.fimath = F;
b.fimath = F;
c = a .* b
c =
8.5397
DataTypeMode: Fixed-point: binary point scaling
Signedness: Signed
WordLength: 40
FractionLength: 30
RoundingMethod: nearest
OverflowAction: saturate
ProductMode: SpecifyPrecision
ProductWordLength: 40
ProductFractionLength: 30
SumMode: FullPrecision
но не идентичный. Когда вы используете mpy, fimath свойства a и b не изменяются, и выход fi объект c не имеет никакого локального fimath. Когда вы используете синтаксис c = a .* b, где a и b имейте их собственный fimath объекты, выход fi объект c присвоен тот же fimath возразите как входные параметры a и b. См. Правила fimath для Вычислений с фиксированной точкой в Руководстве пользователя Fixed-Point Designer™ для получения дополнительной информации.