メインコンテンツ

Zero-Pole

零点-極-ゲイン伝達関数を使用してシステムをモデル化する

  • Zero-Pole block

ライブラリ:
Simulink / Continuous

説明

Zero-Pole ブロックは、ラプラス領域の伝達関数の零点、極、およびゲインを指定して定義したシステムをモデル化します。このブロックを使用して、単入力単出力 (SISO) システムと単入力多出力 (SIMO) システムの両方をモデル化できます。

Zero-Pole ブロックには、次の要件があります。

  • 伝達関数は次に示す形式でなければなりません。

    H(s)=KZ(s)P(s)=K(sZ(1))(sZ(2))(sZ(m))(sP(1))(sP(2))(sP(n)),

    ここで、Z は零点を表し、P は極を表し、K は伝達関数のゲインを表します。

  • 極の数は零点の数以上でなければなりません。

  • 複素数の極と零点は、複素共役対でなければなりません。

  • 多出力システムでは、すべての伝達関数が同じ極をもっている必要があります。零点の値は異なっていてもかまいませんが、各伝達関数の零点の数は同じにする必要があります。

ヒント

伝達関数がそれぞれ、異なる数の零点または単一の零点をもつ多出力システムをモデル化するには、複数の Zero-Pole ブロックを使用します。

単出力システムのモデル化

単出力システムに、スカラーの時間領域入力信号と出力信号が含まれています。このタイプのシステムをモデル化するには、以下のようにします。

  1. 伝達関数の零点ベクトルを [零点] フィールドに入力します。

  2. 伝達関数の極ベクトルを [極] フィールドに入力します。

  3. 伝達関数のゲインのスカラーを [ゲイン] フィールドに入力します。

多出力システムのモデル化

多出力システムに、スカラーの時間領域入力信号とベクトルの時間領域出力信号が含まれています。ベクトル出力の各要素はシステムの出力です。このタイプのシステムをモデル化するには、以下のようにします。

  1. 零点の行列を [零点] フィールドに入力します。

    行列の各列には、伝達関数の零点が入ります。伝達関数はシステムの入力信号を出力信号の要素の 1 つに関連付けます。

  2. そのシステムのすべての伝達関数に共通な極ベクトルを [極] フィールドに入力します。

  3. ゲインのベクトルを[ゲイン] フィールドに入力します。

    各要素は、零点行列内の対応する伝達関数のゲインです。

端子

入力

すべて展開する

システムのスカラーの時間領域入力信号。

データ型: double

出力

すべて展開する

零点-極-ゲイン伝達関数としてモデル化されるシステムの出力。スカラーまたはベクトル信号として提供されます。

  • 単出力システムをモデル化するとき、ブロックはスカラーの時間領域信号を生成します。

  • 多出力システムをモデル化するとき、ブロックはベクトルを生成します。ベクトルの各要素はシステムの出力です。

データ型: double

パラメーター

すべて展開する

零点の行列を定義します。

  • 単出力システムでは、伝達関数の零点ベクトルを入力します。

  • 多出力システムでは、行列を入力します。この行列の各列には、伝達関数の零点が入ります。伝達関数はシステムの入力を出力ベクトルの要素に関連付けます。

  • 零点のないシステムをモデル化する場合は、「[]」を入力します。

プログラムでの使用

ブロック パラメーター: Zeros
型: string | 文字ベクトル
値: ベクトル | 行列
既定の設定: '[1]'

極のベクトルを定義します。

  • 単出力システムでは、伝達関数の極ベクトルを入力します。

  • 多出力システムでは、そのシステムのすべての伝達関数に共通の極をベクトルにして入力します。

プログラムでの使用

ブロック パラメーター: Poles
型: string | 文字ベクトル
値: ベクトル
既定の設定: '[0 -1]'

ゲインのベクトルを定義します。

  • 単出力システムでは、伝達関数のゲインとして 1 行 1 列の極ベクトルを入力します。

  • 多出力システムでは、ゲインのベクトルを入力します。各要素は、零点行列内の対応する伝達関数のゲインです。

プログラムでの使用

ブロック パラメーター: Gain
型: string | 文字ベクトル
値: ベクトル
既定の設定: '[1]'

アクセラレータ シミュレーション、ラピッド アクセラレータ シミュレーション、および Simulink® Compiler™ を使用して展開されたシミュレーションで零点、極、およびゲインが調整可能かどうかを指定します。

  • 自動 — パラメーターの調整可能性のレベルが自動的に決定されます。

  • 最適化済み — アクセラレータ シミュレーション、ラピッド アクセラレータ シミュレーション、および展開されたシミュレーション用に零点、極、およびゲインの最適化された表現が生成されます。最適化された表現における零点、極、およびゲインの値は調整可能ではありません。

  • 制約なし[零点] パラメーター、[極] パラメーター、および [ゲイン] パラメーターの値は、アクセラレータ シミュレーション、ラピッド アクセラレータ シミュレーション、および展開されたシミュレーションで調整可能です。

プログラムでの使用

ブロック パラメーター: ParameterTunability
型: string | 文字ベクトル
値: 'Auto' | 'Optimized' | 'Unconstrained'
既定の設定: 'Auto'

可変ステップ ソルバーは、ステップ サイズの選択時に、絶対許容誤差および相対許容誤差を使用して、状態計算の誤差が許容されるかどうかを判別します。このパラメーターは、このブロックによって実装されるシステム内の状態に使用する絶対許容誤差を指定します。

  • auto[絶対許容誤差] コンフィギュレーション パラメーターによって指定された絶対許容誤差を使用します。

  • 実数の正のスカラー — すべての状態に対して、指定された値を絶対許容誤差として使用します。

  • 実数の正のベクトル — 各状態の絶対許容誤差を指定します。ベクトル内の要素数は、システム内の状態数と同じでなければなりません。

プログラムでの使用

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

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

パラメーター: AbsoluteTolerance
値: 'auto' (既定値) | "-1" | positive real scalar | positive real vector
データ型: string | char

例: set_param("MyModel/Descriptor State-Space",AbsoluteTolerance="-1")

システム内のすべての状態にカスタム名を指定しない場合:

  • 指定したそれぞれの名前が複数の状態に使用されます。

  • 状態の数は指定した名前の数で割り切れなければなりません。

たとえば、システムに 4 つの状態がある場合、1 つ、2 つ、または 4 つの名前を指定する必要があります。2 つの名前を指定した場合、最初の 2 つの状態は 1 番目の名前を使用し、最後の 2 つの状態は 2 番目の名前を使用します。

プロパティ インスペクターまたは [ブロック パラメーター] ダイアログ ボックスを使用して単一のカスタム状態名を指定するには、名前を一重引用符 ('') で囲みます。たとえば、名前 position を指定するには、「'position'」と入力します。一重引用符を省略すると、値が MATLAB® 変数の名前として解釈されます。

既定の状態名を使用するには、このパラメーターを空の文字ベクトル ('') として指定します。

プログラムでの使用

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

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

パラメーター: ContinuousStateAttributes
値: '' (既定値)
データ型: char | cell

例: set_param("MyModel/Descriptor State-Space",ContinuousStateAttributes={'position','velocity'})

ブロックの特性

データ型

double

直達

はい

多次元信号

いいえ

可変サイズの信号

いいえ

ゼロクロッシング検出

いいえ

ヒント

Zero-Pole ブロック アイコンにおける伝達関数の外観は、零点と極とゲインの各パラメーターをどのように指定したかによって異なります。

  • 個々のパラメーターを式またはベクトルで指定すると、ブロックには伝達関数が指定された零点と極とゲインで表記されます。小かっこ内に変数を指定すると、その変数は評価されます。

    たとえば、このイメージは、[零点] パラメーターを [3 2 1][極] パラメーターを (poles) (poles は値が [7 5 3 1] の変数)、[ゲイン] パラメーターを gain として指定した場合にブロックがどのように表示されるのかを示しています。

    The Zero-Pole block shows the transfer function with the zero and pole values populated from the block parameter values.

  • 各パラメーターを変数として指定すると、ブロックでは、[ゲイン] パラメーターの値を定義する変数の名前が表示され、その後に汎用伝達関数が示されます。

    たとえば、このイメージは、[零点] パラメーターを変数 zeros[極] パラメーターを変数 poles[ゲイン] パラメーターを変数 gain として指定した場合にブロックがどのように表示されるのかを示しています。

    The Zero-Pole block shows the Gain parameter value with a generic transfer function representation.

  • パラメーター値を使用して伝達関数を表示するにはブロックの大きさが不十分な場合は、分子が zeros(s)、分母が poles(s) として伝達関数が示されます。

    The Zero Pole block shows the transfer function with a generic numerator and denominator.

拡張機能

すべて展開する

バージョン履歴

R2006a より前に導入