Main Content

dsp.ArrayVectorMultiplier

(削除済み) 指定次元に沿ったベクトルによる配列の乗算

dsp.ArrayVectorMultiplier は削除されました。代わりに .* 演算子を使用してください。詳細については、互換性の考慮事項を参照してください。

説明

ArrayVectorMultiplier オブジェクトは、配列をベクトルで指定の次元に沿って乗算します。

配列をベクトルで指定に沿って乗算する方法は次のとおりです。

  1. 配列-ベクトル乗算オブジェクトを定義および設定します。構築を参照してください。

  2. step を呼び出して、dsp.ArrayVectorMultiplier のプロパティに従い、配列を乗算します。step の動作は、ツールボックスの各オブジェクト固有のものです。

メモ

R2016b 以降では、step メソッドを使用して、System object™ によって定義された演算を実行する代わりに、引数を関数であるかのように使ってオブジェクトを呼び出すことができます。たとえば、y = step(obj,x)y = obj(x) は同等の演算を実行します。

構築

avm = dsp.ArrayVectorMultiplier は、入力 N 次元配列をベクトルの要素で 2 番目の次元に沿って乗算する配列-ベクトル乗算オブジェクト avm を返します。

avm = dsp.ArrayVectorMultiplier('PropertyName',PropertyValue,...) は、各プロパティが指定の値に設定された配列-ベクトル乗算オブジェクト avm を返します。

プロパティ

Dimension

入力をベクトルの要素で乗算する対象の次元

入力配列をベクトルの要素で乗算する対象の次元を正の整数として指定します。既定の設定は 2 です。

VectorSource

ベクトルのソース

ベクトルの値のソースを Input port または Property のいずれかとして指定します。既定の設定は Input port です。

Vector

配列に乗算するベクトル

配列に乗算するベクトルを指定します。このプロパティは、VectorSource プロパティを Property に設定した場合に適用されます。既定の設定は [0.5 0.25] です。このプロパティは調整可能です。

 固定小数点プロパティ

メソッド

stepベクトルによる配列の乗算
すべての System object に共通
release

System object のプロパティ値の変更の許可

すべて折りたたむ

メモ

R2016a 以前のリリースを使用している場合、それぞれのオブジェクトの呼び出しを等価な step 構文で置き換えてください。たとえば、obj(x)step(obj,x) になります。

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

     2     3
     2     3

アルゴリズム

このオブジェクトは、Array-Vector Multiply ブロックのリファレンス ページで説明されているアルゴリズム、入力、および出力を実装しています。オブジェクト プロパティはブロック パラメーターに対応しますが、以下の場合を除きます。

  • 配列-ベクトル乗算オブジェクトには、データ出力についての [Minimum] または [Maximum] のオプションはありません。

拡張機能

バージョン履歴

R2012a で導入

すべて展開する

R2023a: dsp.ArrayVectorMultiplierSystem object は削除済み

dsp.ArrayVectorMultiplier System object は削除されました。代わりに .* 演算子を使用してください。

コードの更新

次の表は、.* 演算子を使用するように既存のコードを更新する方法を示しています。

非推奨の使用方法推奨される代替案

最初の次元に沿った乗算 (列方向)

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

     2     2
     3     3

最初の次元に沿った乗算 (列方向)

y = a .* x
y = 2×2

     2     2
     3     3

2 番目の次元に沿った乗算 (行方向)

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

     2    3
     2    3

2 番目の次元に沿った乗算 (行方向)

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

     2    3
     2    3

Nth 番目の次元に沿った乗算

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

配列を 4 番目の次元に沿ってベクトルで乗算します。

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

Nth 番目の次元に沿った乗算

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

  logical

   1