Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

For Each Subsystem による 2 次元信号のタイル処理

この例では、For Each Subsystem の使用方法を示します。この例では、行列で演算を行います。

モデル例 sldemo_foreach_tiled を開きます。このモデルには、行列入力信号の部分行列を処理する For Each Subsystem が含まれています。

行列信号の部分行列を処理するには、入れ子にされた For Each Subsystem を使用する必要があります。外側の Subsystem を使用して信号を最初の次元に沿って分割し、内側の Subsystem を使用して 2 番目の次元に沿って分割することができます。この順序は任意なので、変更しても、結果に影響を与えることはありません。

この例では、4 行 4 列の行列が 2 行 2 列の部分行列に分割されます。外側の Subsystem が、信号を最初の次元に沿って分割します。生成されたサブ配列は、その後、内側の Subsystem によって 2 番目の次元に沿って分割されます。入力信号の形状を保つために、出力の連結では分割順序が守られます。ただし、部分行列を処理するとスカラー出力が生成されるため、出力次元は変化します。

このモデルのタイルの繰り返し実装を確認するには、[モデル] ウィンドウの右下隅にある Subsystem をダブルクリックします。この実装では、For Each Subsystem は使用されません。代わりに、この実装では、Subsystem を必要な回数だけ複製し、信号を適切に選択して連結することによって、For Each Subsystem の機能を模倣しています。この複製プロセスはエラーを起こしやすい上、スケーラブルではありません。入力信号のサイズを変更する際は、それに応じてモデルを変更する必要があります。