mpy

Умножьте два объекта с помощью 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™ для получения дополнительной информации.

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

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

| | | | | | | |

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