mpy

Умножьте два объекта с помощью объекта fimath

Синтаксис

c = mpy(F,a,b)

Описание

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

Расширенные возможности

Смотрите также

| | | | | | | |

Представлено до R2006a