メインコンテンツ

Matrix Concatenate

同じデータ型の入力行列を反復処理のために連結

  • Matrix Concatenate block

ライブラリ:
Simulink / Math Operations
Simulink / Matrix Operations
DSP System Toolbox / Math Functions / Matrices and Linear Algebra / Matrix Operations
HDL Coder / Math Operations

Matrix Concatenate ブロックの代替構成:
ベクトルの連結

説明

Matrix Concatenate ブロックは、入力信号を連結し、For Each Subsystem、While Iterator Subsystem、For Iterator Subsystem などのサブシステムで反復して処理できる非スカラー信号を作成します。

段階的に複数の Matrix Concatenate ブロックを使用して出力信号を作成できますが、単一のブロックを使用して信号を連結するときと同様に結果はそれぞれの連結の次元に沿ってフラットになります。

出力信号の信号は、それぞれの連結の次元に沿ってブロックの入力信号と同じ順序で表示されます。ブロックの向きに関する端子の順番の詳細については、回転または反転したブロックの端子の位置の特定を参照してください。

バス配列を定義する場合は、Vector Concatenate ブロックまたは Matrix Concatenate ブロックを使用しなければなりません。詳細については、非バーチャル バスのバス配列へのグループ化を参照してください。

すべて展開する

Matrix Concatenate ブロックが同じ行数の 2 次元行列を受け取ったとき、行列を水平方向に連結して、出力行列で横に並べて配置できます。行列を水平方向に連結するには、[連結の次元] ブロック パラメーターを 2 に設定します。

たとえば、ex_concatenate_horizontal モデルをシミュレートします。

入力行列 [1 2;3 4] と [5;6] が水平方向に連結され、出力行列 [1 2 5;3 4 6] が作成されます。

Matrix Concatenate ブロックが同じ列数の 2 次元行列を受け取ったとき、行列を垂直方向に連結して、出力行列で縦に並べて配置できます。行列を垂直方向に連結するには、[連結の次元] ブロック パラメーターを 1 に設定します。

たとえば、ex_concatenate_vertical モデルをシミュレートします。

入力行列 [1 2;3 4] と [5 6] が垂直方向に連結され、出力行列 [1 2;3 4;5 6] が作成されます。

Matrix Concatenate ブロックが 2 次元行列を受け取ったとき、多次元行列の連結を実行できます。これを行うには、[連結の次元] ブロック パラメーターを 3 に設定します。

たとえば、ex_concatenate_multidims モデルをシミュレートします。

各入力行列の次元は [2x2] で、出力行列の次元は [2x2x2] です。

拡張例

端子

入力

すべて展開する

連結する最初の入力。スカラー、ベクトル、行列、または配列として指定します。

  • 入力は、同じデータ型でなければなりません。

  • 行列と配列の入力は、[モード][多次元配列] に設定されているときのみサポートされます。

データ型が Simulink.Bus オブジェクトの場合、入力は非バーチャル バスでなければなりません。

データ型: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus | image

連結する N 番目の入力。スカラー、ベクトル、行列、または配列として指定します。

  • 入力は、同じデータ型でなければなりません。

  • 行列と配列の入力は、[モード][多次元配列] に設定されているときのみサポートされます。

依存関係

入力端子を追加するには、[入力数] を 2 以上の整数に設定します。

データ型: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus | image

出力

すべて展開する

指定した次元に沿った入力信号の連結です。出力のデータ型は入力と同じです。

データ型: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus | image

パラメーター

すべて展開する

ブロック パラメーターを対話形式で編集するには、プロパティ インスペクターを使用します。Simulink® ツールストリップから、[シミュレーション] タブの [準備] ギャラリーで [プロパティ インスペクター] を選択します。

ブロックの入力の数を 65536 以下で正の整数の実数値として指定します。

プログラムでの使用

ブロック パラメーターの値をプログラムで設定するには、関数 set_param を使用します。

パラメーター: NumInputs
値: '2' (既定値) | positive integer in quotes
データ型: char | string

例: set_param(gcb,'NumInputs','3')

ブロックがベクトルと多次元配列のどちらの連結モードで機能するかを選択します。Vector Concatenate ブロックの既定の [モード][ベクトル] です。Matrix Concatenate ブロックの既定の [モード][多次元配列] です。

  • [ベクトル] を選択した場合、ブロックはベクトル連結を実行します。

  • [多次元配列] を選択した場合、ブロックは行列連結を実行します。

[モード] 設定入力信号出力信号
ベクトル

  • ベクトル

  • 行ベクトル (1 行 M 列の行列)

  • 列ベクトル (M 行 1 列の行列)

  • ベクトルと行ベクトルまたは列ベクトルのいずれかの組み合わせ

すべての入力がベクトルの場合、出力はベクトルになります。

入力のいずれかが行ベクトルまたは列ベクトルである場合、出力はそれぞれ行ベクトルまたは列ベクトルになります。

多次元配列

任意の次元の信号 (スカラー、ベクトル、行列)

出力は、常に配列です。

低次元の入力の場合、後の次元は 1 とみなされます。たとえば、出力が 4 次元で、入力が [2x3] (2 次元) の場合、このブロックは入力を [2x3x1x1] として取り扱います。

連結は、[連結の次元] パラメーターで指定した次元に対して実行されます。

プログラムでの使用

ブロック パラメーターの値をプログラムで設定するには、関数 set_param を使用します。

パラメーター: Mode
値: 'Vector' | 'Multidimensional array'

例: set_param(gcb,'Mode','Vector')

入力配列を連結する出力の次元を指定します。

  • 1 — 入力を垂直方向に連結します。垂直方向の行列の連結では、入力行列が縦に重ねて出力行列に配置されます。Vector Concatenate ブロックを挿入し、[モード][多次元配列] に設定する場合、既定の設定は 1 です。

  • 2 — 入力を水平方向に連結します。水平方向の行列の連結では、入力行列が横に並べて出力行列に配置されます。Matrix Concatenate ブロックを挿入する場合、既定の設定は 2 です。

  • 3 以上 — 入力に対して多次元連結を実行します。

入力行列は、連結のために互換性のあるサイズでなければなりません。垂直方向の連結には、入力行列が同じ列数であることが必要です。水平方向の連結には、入力行列が同じ行数であることが必要です。

依存関係

このパラメーターを有効にするには、[モード][多次元配列] に設定します。

プログラムでの使用

ブロック パラメーターの値をプログラムで設定するには、関数 set_param を使用します。

パラメーター: ConcatenateDimension
値: scalar integer in quotes
データ型: char | string

例: set_param(gcb,'ConcatenateDimension','2')

ブロックの特性

データ型

Boolean | double | enumerated | fixed point | half | image | integer | single

直達

はい

多次元信号

はい

可変サイズの信号

はい

ゼロクロッシング検出

いいえ

代替構成

すべて展開する

Vector Concatenate ブロックでは、[モード][ベクトル] に設定されます。

ライブラリ:
Simulink / Commonly Used Blocks
Simulink / Math Operations
Simulink / Signal Routing
HDL Coder / Math Operations
HDL Coder / Signal Routing

拡張機能

すべて展開する

C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。

PLC コード生成
Simulink® PLC Coder™ を使用して構造化テキスト コードを生成します。

固定小数点の変換
Fixed-Point Designer™ を使用して固定小数点システムの設計とシミュレーションを行います。

バージョン履歴

R2009b で導入