Main Content

isPassive

線形システムの受動性のチェック

説明

pf = isPassive(G) は、動的システム モデル G が受動的である場合に 1 (true) の論理値を返し、それ以外の場合は 0 (false) の論理値を返します。すべての I/O 軌跡 (u(t),y(t)) が次を満たす場合、システムは "受動的" です。

0Ty(t)Tu(t)dt>0,

すべての T > 0 について上記が成り立つとします。同様に、周波数応答が正の実数の場合、つまりすべての ω > 0 について次が成り立つ場合、システムは受動的です。

G(jω)+G(jω)H>0

(または離散時間の等価物)。G がモデル配列の場合、isPassiveG と同じ配列次元の logical 配列を返します。この配列の各エントリは、G の対応するエントリの受動性を反映します。

受動性の概念の詳細については、受動性および受動性インデックスについてを参照してください。

pf = isPassive(G,nu,rho) は、入力のインデックス nu および出力のインデックス rho において G が受動的である場合に 1 (true) を返します。このようなシステムは以下を満たします。

0Ty(t)Tu(t)dt>ν0Tu(t)Tu(t)dt+ρ0Ty(t)Ty(t)dt,

すべての T > 0 について上記が成り立つとします。

  • 入力のインデックス nu においてシステムが "入力で受動的" かどうかをチェックするには、rho = 0 を使用します。

  • 出力のインデックス rho においてシステムが "出力で受動的" かどうかをチェックするには、nu = 0 を使用します。

入力と出力の受動性の詳細については、受動性および受動性インデックスについてを参照してください。

[pf,R] = isPassive(G,___) は、対応する受動性範囲の相対インデックスも返します (getPassiveIndex を参照)。R は、受動性プロパティがどの程度満たされているか (R < 1) または違反されているか (R > 1) を測定します。この構文では、入力引数を前述の任意の組み合わせで使用できます。

すべて折りたたむ

次の伝達関数が受動的かどうかをテストします。

G(s)=s+1s+2.

G = tf([1,1],[1,2]);
[pf,R] = isPassive(G)
pf = logical
   1

R = 0.3333

pf = 1 は、G が受動的であることを示しています。R = 0.3333 は、R の受動性が相対的に超過していることを示しています。

伝達関数 G がインデックス 0.25 において入力で受動的かどうかをテストします。これを行うには、nu = 0.25 と rho = 0 を使用します。

G = tf([1,1],[1,2]);
[pfin,Rin] = isPassive(G,0.25,0)
pfin = logical
   1

Rin = 0.6096

この結果から、G がこの nu 値において入力で受動的であり、その受動性がやや超過していることがわかります。

G がインデックス 2 において出力で受動的かどうかをテストします。

[pfout,Rout] = isPassive(G,0,2)
pfout = logical
   0

Rout = 2.6180

ここでは、結果 pfout = 0 から、G がこの rho 値において出力で受動的でないことがわかります。R 値は、受動性の不足の相対尺度を示しています。

isPassive を使用して、モデル配列内の複数のモデルの受動性を同時に評価することができます。この例では、伝達関数モデルの乱数の配列を生成します。

G = rss(3,1,1,1,5);

G は 3 状態 SISO モデルの 1 行 5 列の配列です。G 内のすべてのモデルの受動性をチェックします。

[pf,R] = isPassive(G)
pf = 1x5 logical array

   0   0   0   1   0

R = 1×5

   43.8048       Inf       Inf    0.2989    9.6958

pfR も 1 行 5 列の配列です。各 pf エントリは、G 内の対応するモデルが受動的かどうかを示しています。同様に、各 R 値は、G 内の対応するモデルにおける受動性の相対的な超過または不足を示しています。たとえば、G 内の 2 番目のエントリの受動性を調べて、その結果を pf および R 内の 2 番目のエントリと比較します。

[pf2,R2] = isPassive(G(:,:,2))
pf2 = logical
   0

R2 = Inf

入力引数

すべて折りたたむ

受動性について解析するモデル。tf モデル、ss モデル、genss モデルなどの動的システム モデルとして指定します。入力数と出力数が等しい場合、G は MIMO にすることができます。G は連続または離散のどちらにすることもできます。G が調整可能なブロックまたは不確かさをもつブロックを含む一般化モデルの場合、isPassive は現在の G のノミナル値の受動性を評価します。

入力受動性インデックス。実数スカラー値として指定します。nurho を使用して特定の受動性範囲を指定します。入力の特定のインデックスにおいてシステムが受動的かどうかをチェックするには、nu をその値に設定して rho = 0 を設定します。

出力受動性インデックス。実数スカラー値として指定します。nurho を使用して特定の受動性範囲を指定します。出力の特定の受動性インデックスにおいてシステムが受動的かどうかをチェックするには、rho をその値に設定して nu = 0 を設定します。

出力引数

すべて折りたたむ

受動性インジケーター。ブール値として返されます。

  • G が受動的である場合は 1 (true)。

  • G が受動的でない場合は 0 (false)。

入力受動性インデックス nu と出力受動性インデックス rho を指定した場合、pf は対応する受動性範囲に関する受動性を示します。

G がモデル配列の場合、pf は同じサイズの配列になります。この場合、pf(k)Gk 番目のエントリ G(:,:,k) の受動性を示します。

相対受動性インデックス。正の実数のスカラーとして返されます。R はシステムにおける受動性の超過 (R < 1) または不足 (R > 1) を測定します。

nu ≠ 0 または rho ≠ 0 を指定した場合、R は指定した受動性プロパティがどの程度満たされているかまたは違反されているかを測定します。

相対受動性インデックスの概念の詳細については、受動性および受動性インデックスについてを参照してください。

バージョン履歴

R2016a で導入