ドキュメンテーション センター

  • 評価版
  • 製品アップデート

目次

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

出力信号の次元の決定

信号の次元について

ブロックが非スカラー信号を出力可能な場合、ブロックが出力する信号の次元は、ブロックがソース ブロックである場合はブロックのパラメーターによって決まり、そうでない場合はブロックの入力とパラメーターの次元によって決まります。

ソース ブロックの出力の次元の決定

ソース ブロックは、入力のないブロックです。ソース ブロックの例としては、Constant ブロックや Sine Wave ブロックなどがあります。Simulink® ソース ブロックの一覧は、「Sources」を参照してください。ソース ブロックの出力の次元は、そのブロックの [ベクトル パラメーターを 1 次元として解釈] パラメーターがオフである (すなわち [ブロック パラメーター] ダイアログ ボックスで選択されていない) 場合は、ソース ブロックの出力値パラメーターの次元と同じになります。[ベクトル パラメーターを 1 次元 として解釈] パラメーターがオンである場合は、パラメーターの次元が N x 1 または 1 x N でない限り、出力の次元は出力値パラメーターの次元と同じになります。後者の場合、ブロックは幅 N のベクトル信号を出力します。

ソース ブロックの出力値パラメーター (複数の場合もあり) と [ベクトル パラメーターを 1 次元 として解釈] パラメーターによってソース ブロックの出力の次元がどのように決定されるかを考える例として、Constant ブロックの場合を見てみましょう。このブロックは、[定数] パラメーターに等しい定数信号を出力します。[定数値] パラメーターの次元と [べクトル パラメーターを 1 次元として解釈] パラメーターの設定によって、ブロック出力の次元がどのように決まるかを次の表に示します。

定数[ベクトル パラメーターを 1 次元として解釈]出力

スカラー

オフ

1 要素配列

スカラー

オン

1 要素配列

1 行 N 列

オフ

1 行 N 列

1 行 N 列

オン

N 要素ベクトル

N 行 1 列

オフ

N 行 1 列

N 行 1 列

オン

N 要素ベクトル

M 行 N 列

オフ

M 行 N 列

M 行 N 列

オン

M 行 N 列

Simulink のソース ブロックでは、出力する信号の次元または Simulink による次元の推測元である値を指定することができます。したがって、ソース ブロックを使用して、さまざまな次元の信号をモデルに組み込むことができます。

非ソースブロックの出力の次元の決定

ブロックに入力がある場合、スカラー拡張後の出力の次元は入力の次元と同じになります (「信号とパラメーターの次元に関するルール」で説明するように、すべての入力の次元が同じでなければなりません)。

信号とパラメーターの次元に関するルール

Simulink モデルを作成する際には、信号とパラメーターの次元に関する次のルールに従わなければなりません。

入力信号の次元に関するルール

ブロックへのすべての非スカラー入力は、次元が同じでなければなりません。

1 つのブロックにスカラー入力と非スカラー入力が混在していても構いませんが、すべての非スカラー入力の次元が同じでなければなりません。Simulink は、非スカラー入力と次元が同じになるようにスカラー入力を拡張します (「入力とパラメーターのスカラー拡張」を参照)。

ブロックパラメーターの次元に関するルール

一般に、ブロック パラメーターは、ブロックへの入力の次元と同じ次元をもたなければなりません。Simulink は、この一般ルールに関連した柔軟性を提供する処理をいくつか実行します。

  • ブロックは、非スカラー入力に対応するスカラー パラメーターをもつことができます。この場合、Simulink は、非スカラー入力と次元が同じになるようにスカラー入力を拡張します (「入力とパラメーターのスカラー拡張」を参照)。

  • 入力がベクトルの場合、対応するパラメーターは、Nx1 または 1xN の行列になります。この場合、Simulink は、N 個の行列要素を、入力ベクトルの対応する要素に適用します。このような例外処理が行われるため、実際には 1xN または Nx1 の行列である MATLAB® の行ベクトルや列ベクトルを使用して、ベクトル入力に適用するパラメーターを指定することができます。

ベクトルや行列の入力変換に関するルール

Simulink は、次のように、ベクトルを行または列の行列に、あるいは行または列の行列をベクトルに変換します。

  • 行列を必要とする入力にベクトル信号が接続される場合、Simulink は、ベクトルを 1 行または 1 列の行列に変換します。

  • 1 列あるいは 1 行の行列が、ベクトルを必要とする入力に接続される場合、Simulink は行列をベクトルに変換します。

  • ブロックへの入力が、ベクトルと行列の混在で、行列入力がすべて 1 列あるいは1行の場合、Simulink は、それぞれベクトルを 1 列あるいは1行の行列に変換します。

      メモ:   シミュレーション中にベクトルや行列の変換が発生した場合に警告メッセージやエラー メッセージを表示するように、Simulink を構成することができます。詳細は、「ベクトル/行列ブロック入力変換」を参照してください。

入力とパラメーターのスカラー拡張

"スカラー拡張" とは、スカラー値を非スカラー配列に変換することです。Simulink は、ほとんどのブロックに対する入力またはパラメーターにスカラー拡張を適用します。Simulink がブロックの入力とパラメーターにスカラー拡張を適用するかどうかについては、それぞれのブロックの節に記載されています。

入力のスカラー拡張とは、他の非スカラー入力や非スカラー パラメーターの次元と一致するようにスカラー入力を拡張する処理です。ブロックへの入力にスカラー信号と非スカラー信号が混在している場合、Simulink は、スカラー信号を拡張して、他の非スカラー入力と同じ次元の非スカラー信号にします。たとえば、関連付けられた非スカラー入力が 3 の次元をもつ場合、4 のスカラーがベクトル [4 4 4] に拡張されます。

パラメーターのスカラー拡張とは、非スカラー入力の次元と一致するようにスカラー ブロック パラメーターを拡張する処理です。

入力関連付けられたブロック パラメータースカラー拡張

スカラー

非スカラー

パラメーターの次元に一致するように入力が拡張されます。

スカラー入力と非スカラー パラメーター」を参照してください。

非スカラー

スカラー

入力要素の数と一致するようにスカラー パラメーターが拡張されます。

非スカラー入力とスカラー パラメーター」を参照してください。

スカラーと非スカラーの組み合わせ

対応するパラメーターなし

最大の非スカラー入力の次元と一致するようにスカラー入力が拡張されます。

スカラー入力、非スカラー入力、関連付けられていないパラメーター」を参照してください。

スカラー入力と非スカラー パラメーター

この例では、Gain ブロックへの Constant ブロック入力はスカラーです。Gain ブロックの [ゲイン] パラメーターは非スカラーです。Simulink は、非スカラーの [ゲイン] パラメーターの次元に一致するようにスカラー入力を拡張します。これは、Display ブロックのシミュレーション結果に反映されています。

非スカラー入力とスカラー パラメーター

この例では、Gain ブロックへの Constant ブロック入力は非スカラーです。Gain ブロックの [ゲイン] パラメーターはスカラーです。Simulink は、Constant ブロックの非スカラー入力の次元に一致するようにスカラー パラメーターを拡張します。これは、Display ブロックのシミュレーション結果に反映されています。

スカラー入力、非スカラー入力、関連付けられていないパラメーター

この例では、Sum ブロックへの Constant1 ブロック入力は非スカラーであり、Constant2 ブロック入力はスカラーです。Sum ブロックには、関連付けられたパラメーターがありません。Simulink は、非スカラーの Constant1 ブロック入力の次元と一致するように Constant2 のスカラー入力を拡張します。入力は拡張されてベクトル [3 3 3] になります。

この情報は役に立ちましたか?