Main Content

pole

説明

P = pole(sys) は、SISO または MIMO 動的システム モデル sys の極を返します。出力は sys.TimeUnit で指定される時間単位の逆数として表現されます。動的システムの極によって、システムの安定性と応答が決まります。

開ループ線形時不変システムは以下の場合に安定です。

  • 連続時間の場合、伝達関数のすべての極が負の実数部をもたなければなりません。極が複素 s 平面上に可視化される場合、安定性を確保するには、それらがすべて左半平面 (LHP) になければなりません。

  • 離散時間の場合、すべての極の振幅が厳密に 1 より小さくなければなりません。つまり、すべてが単位円内に収まらなければなりません。

P = pole(sys,J1,...,JN) は、モデル配列 sys の添字 (J1,...,JN) をもつエントリの極 P を返します。

すべて折りたたむ

次の離散時間の伝達関数の極を計算します。

sys(z)=0.0478z-0.0464z2-1.81z+0.9048

sys = tf([0.04798 0.0464],[1 -1.81 0.9048],0.1);
P = pole(sys)
P = 2×1 complex

   0.9050 + 0.2929i
   0.9050 - 0.2929i

安定な離散システムの場合、そのすべての極が厳密に 1 より小さい振幅をもたなければなりません。つまり、すべてが単位円内に収まらなければなりません。この例の極は複素共役の組であり、単位円内に収まっています。したがって、システム sys は安定です。

次の伝達関数の極を計算します。

sys(s)=4.2s2+0.25s-0.004s2+9.6s+17

sys = tf([4.2,0.25,-0.004],[1,9.6,17]);
P = pole(sys)
P = 2×1

   -7.2576
   -2.3424

安定な連続システムの場合、そのすべての極が負の実数部をもたなければなりません。極は負であり、つまり複素平面の左半平面にあるため、sys は安定です。

この例では、倒立振子モデルを含む 3 行 3 列の配列が格納された invertedPendulumArray.mat を読み込みます。振子の質量は sys の単一の列に沿ってモデル間を移動するにつれて変化し、振子の長さは単一の行に沿って移動するにつれて変化します。質量の値には 100g、200g、300g、振子の長さには 3m、2m、1m がそれぞれ使用されます。

Column1Column2Column3Row1100g,3m100g,2m100g,1mRow2200g,3m200g,2m200g,1mRow3300g,3m300g,2m300g,1m

load('invertedPendulumArray.mat','sys');
size(sys)
3x3 array of transfer functions.
Each model has 1 outputs and 1 inputs.

モデル配列の極を見つけます。

P = pole(sys);
P(:,:,2,1)
ans = 3×1

    2.1071
   -2.1642
   -0.1426

P(:,:,2,1) は、重さ 200g、長さ 3m の振子をもつモデルの極に対応します。

入力引数

すべて折りたたむ

動的システム。SISO または MIMO 動的システム モデル、あるいは SISO または MIMO 動的システム モデルの配列として指定します。使用できる動的システムには、tfzpkss モデルなどの連続時間または離散時間の数値 LTI モデルが含まれます。

sys が一般化状態空間モデル genss または不確かさをもつ状態空間モデル uss である場合、pole は、sys の現在の値またはノミナル値の極を返します。sys がモデルの配列である場合、pole は、sys の添字 J1,...,JN に対応するモデルの極を返します。モデル配列の詳細については、モデル配列を参照してください。

抽出する極をもつ配列内モデルのインデックス。正の整数として指定します。sys における配列の次元数と同じ数のインデックスを指定できます。たとえば、sys が動的システム モデルの 4 行 5 列の配列である場合、次のコマンドは配列のエントリ (2,3) の極を抽出します。

P = pole(sys,2,3);

出力引数

すべて折りたたむ

動的システムの極。スカラーまたは配列として返されます。動作は sys により異なります。

  • 単一のモデルの場合、P は動的システム モデル sys の極の列ベクトルです。

  • モデル配列の場合、Psys の各モデルの極からなる配列です。

Psys.TimeUnit で指定される時間単位の逆数として表現されます。たとえば、sys.TimeUnit = 'minutes' の場合、極は 1/分で表されます。

システム モデルのタイプによって、極は次の方法で計算されます。

  • 状態空間モデルでは、極は行列 A の固有値、または、記述子の場合、A – λE の一般化固有値です。

  • SISO 伝達関数または零点-極-ゲイン モデルでは、極は分母の根です。詳細については、roots を参照してください。

  • MIMO 伝達関数 (または零点-極-ゲイン モデル) では、極は各 SISO 要素の極の和集合として返されます。一部の I/O ペアが共通分母をもつ場合、それらの I/O ペアの分母の根は 1 回だけカウントされます。

制限

  • 複数の極は数値的に敏感なため、高い精度で計算できません。多重度が m の極 λ では通常、中央が λ で半径が次のようになる円に、計算された極のクラスターが生成されます。

    ρε1/m,

    ここで ε はマシンの相対精度 (eps) です。

    複数の極の詳細については、複数の根の感度を参照してください。

  • sys に内部遅延がある場合、極は最初にすべての内部遅延をゼロに設定することによって得られます。そのため、システムには有限個の極が存在し、ゼロ次パデ近似が作成されます。システムによっては、遅延をゼロに設定すると、特異値の代数ループが作成されることがあります。そのため、ゼロ遅延の近似が正しく行われないか、間違って定義されることになります。このようなシステムでは、pole はエラーを返します。

    内部遅延をもつモデルの安定性を評価するには、step または impulse を使用します。

バージョン履歴

R2006a より前に導入