Main Content

dsp.ArrayVectorSubtractor

(Removed) Subtract vector from array along specified dimension

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

Description

The ArrayVectorSubtractor object subtracts a vector from an N-D array along a specified dimension.

To subtract a vector from an N-D array along a specified dimension:

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

  2. Call step to subtract the vector according to the properties of dsp.ArrayVectorSubtractor. The behavior of step is specified 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

avs = dsp.ArrayVectorSubtractor returns an array-vector subtraction object, avs, that subtracts the elements of a vector from an N-D input array along the first dimension.

avs = dsp.ArrayVectorSubtractor('PropertyName',PropertyValue,...) returns an array-vector subtraction object, avs, with each property set to the specified value.

Properties

Dimension

Dimension along which to subtract vector elements from input

Specify the dimension along which to subtract the elements of the vector from the input array as an integer-valued scalar greater than 0. The default is 1.

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 values

Specify the vector values. 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

stepSubtract vector from array along specified dimension
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).

avs = dsp.ArrayVectorSubtractor;
a = ones(2);
x = [1 2]';
y = avs(a, x)
y = 2×2

     0     0
    -1    -1

Algorithms

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

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

Extended Capabilities

Version History

Introduced in R2012a

expand all

R2023a: dsp.ArrayVectorSubtractor System object has been removed

The dsp.ArrayVectorSubtractor 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

Subtract along first dimension (column-wise)

avs = dsp.ArrayVectorSubtractor(Dimension=1);
a = ones(2);
x = [1 2]';
y = avs(a,x)
y = 2×2

     0     0
    -1    -1

Subtract along first dimension (column-wise)

y = a - x
y = 2×2

     0     0
    -1    -1

Subtract along second dimension (row-wise)

avs = dsp.ArrayVectorSubtractor(Dimension=2);
a = ones(2);
x = [1 2];
y = avs(a,x)
y = 2×2

     0    -1
     0    -1

Subtract along second dimension (row-wise)

y = a - x
y = 2×2

     0    -1
     0    -1

Subtract along Nth dimension

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

Subtract the array with a vector along the fourth dimension.

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

Subtract along Nth dimension

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

  logical

   1