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 番目の次元に沿って分割されます。入力信号の形状を保つために、出力の連結では分割順序が守られます。ただし、部分行列を処理するとスカラー出力が生成されるため、出力次元は変化します。

このモデルのタイルの繰り返し実装を確認するには、sldemo_foreach_repeat_tile という名前のモデル例を開きます。

この実装では、For Each Subsystem は使用されません。代わりに、この実装では、Subsystem を必要な回数だけ複製し、信号を適切に選択して連結することによって、For Each Subsystem の機能を再現しています。この複製プロセスはエラーを起こしやすい上、スケーラブルではありません。入力信号のサイズを変更するには、それに応じてモデルを変更する必要があります。

参考

関連するトピック