Main Content

dsp.ArrayVectorMultiplier

(Removed) Multiply array by vector along specified dimension

dsp.ArrayVectorMultiplier has been removed. Use the .* operator instead. For more information, see Compatibility Considerations.

Description

The ArrayVectorMultiplier object multiplies an array by a vector along a specified dimension.

To multiply an array by a vector along a specified:

  1. Define and set up your array-vector multiplication object. See Construction.

  2. Call step to multiply the array according to the properties of dsp.ArrayVectorMultiplier. The behavior of step is specific to each object in the toolbox.

Note

Starting in R2016b, instead of using the step method to perform the operation defined by the System object™, you can call the object with arguments, as if it were a function. For example, y = step(obj,x) and y = obj(x) perform equivalent operations.

Construction

avm = dsp.ArrayVectorMultiplier returns an array-vector multiplication object, avm, that multiplies an input N-D array by the elements of a vector along the second dimension.

avm = dsp.ArrayVectorMultiplier('PropertyName',PropertyValue,...) returns an array-vector multiplication object, avm, with each property set to the specified value.

Properties

Dimension

Dimension along which to multiply input by vector elements

Specify the dimension along which to multiply the input array by the elements of vector as a positive integer. The default is 2.

VectorSource

Source of vector

Specify the source of the vector values as one of Input port or Property. The default is Input port.

Vector

Vector to multiply array

Specify the vector by which to multiply the array. This property applies when you set the VectorSource property to Property. The default is [0.5 0.25]. This property is tunable.

 Fixed-Point Properties

Methods

stepMultiply array by vector
Common to All System Objects
release

Allow System object property value changes

Examples

collapse all

Note

If you are using R2016a or an earlier release, replace each call to the object with the equivalent step syntax. For example, obj(x) becomes step(obj,x).

avm = dsp.ArrayVectorMultiplier;
a = ones(2);
x = [2 3]';
y = avm(a, x)
y = 2×2

     2     3
     2     3

Algorithms

This object implements the algorithm, inputs, and outputs described on the Array-Vector Multiply block reference page. The object properties correspond to the block parameters, except:

  • The array-vector multiplication object does not have Minimum or Maximum options for data output.

Extended Capabilities

Version History

Introduced in R2012a

expand all

R2023a: dsp.ArrayVectorMultiplier System object has been removed

The dsp.ArrayVectorMultiplier System object has been removed. Use the .* operator instead.

Update Code

This table shows how to update existing code to use the .* operator.

Discouraged UsageRecommended Replacement

Multiply along first dimension (column-wise)

avm = dsp.ArrayVectorMultiplier(Dimension=1);
a = ones(2);
x = [2;3];
y = avm(a,x)
y = 2×2

     2     2
     3     3

Multiply along first dimension (column-wise)

y = a .* x
y = 2×2

     2     2
     3     3

Multiply along second dimension (row-wise)

avm = dsp.ArrayVectorMultiplier(Dimension=2);
a = ones(2);
x = [2;3];
y = avm(a,x)
y = 2×2

     2    3
     2    3

Multiply along second dimension (row-wise)

y = a .* x'
y = 2×2

     2    3
     2    3

Multiply along Nth dimension

d = [3 10 2 3 4];
a = randn(d);

Multiply the array with a vector along the fourth dimension.

N = 4;
avm = dsp.ArrayVectorMultiplier(Dimension=N);
x = randn(1,d(N));
y = avm(a,x);

Multiply along Nth dimension

C = repmat({1},1,length(d));
C{N} = ':';
xN(C{:}) = x;
yNew = a .* xN
all(y == yNew,'all')
ans =

  logical

   1