exponenta event banner

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