Main Content

rlocus

動的システムの根軌跡プロット

説明

rlocus(sys) は SISO モデル sys の根軌跡を計算してプロットします。根軌跡は、閉ループ極の軌跡をフィードバック ゲイン k の関数として返します (負のフィードバックと想定)。根軌跡は、フィードバック ゲインの変化が閉ループ極位置に及ぼす影響を調べるために使用されます。すると今度は、これらの位置から時間と周波数応答に関する間接的な情報を得ることができます。

rlocus を使用して、sys を次に示すように設定することにより、次のいずれかの "負の" フィードバック ループの根軌跡図をプロットできます。

たとえば、sys が次で表される伝達関数である場合、

sys(s)=n(s)d(s)

閉ループの極は、次の方程式の根で表わせます。

d(s)+kn(s)=0

根軌跡プロットは、フィードバック ゲイン k が 0 から無限大まで変化するときの閉ループ極の軌跡を示します。rlocus は、滑らかなプロットを作成できるように状況に応じて正のゲイン k の集合を選択します。根軌跡プロットの極は x で表され、零点は o で表されます。

rlocus(sys1,sys2,...) は、1 つのプロットに複数の LTI モデル sys1, sys2,... の根軌跡をプロットします。各モデルに対して、色、ライン スタイル、およびマーカーを指定することができます。プロットのカスタマイズ オプションについてさらに詳細に調べるには、rlocusplot を参照してください。

[r,k] = rlocus(sys) は、フィードバック ゲイン k のベクトルとそのゲインの複素根の位置 r を返します。

r = rlocus(sys,k) は、フィードバック ゲイン k のユーザー指定のベクトルを使用して、根軌跡プロットを定義する閉ループ極 r を出力します。

すべて折りたたむ

この例では、次の SISO 動的システムの根軌跡をプロットします。

sys(s)=2s2+5s+1s2+2s+3.

sys = tf([2 5 1],[1 2 3]);
rlocus(sys)

システムの極は x で表され、零点は根軌跡プロット上の o で表されます。生成された根軌跡プロット内のメニューを使用して、グリッド ラインの追加、ズーム インまたはズーム アウト、さらに、プロパティ エディターを起動してのプロットのカスタマイズができます。

プロットをさらにカスタマイズするには、rlocusplotを使用します。

この例では、次の 3 つの SISO モデルを含む sisoModels.mat について考えます。

  • sys1 - 伝達関数モデル

  • sys2 - 状態空間モデル

  • sys3 - 零点-極-ゲイン モデル

mat ファイルからモデルを読み込みます。

load('sisoModels.mat','sys1','sys2','sys3');

rlocus を使用して根軌跡プロットを作成し、各システムについて色を指定します。また、根軌跡プロットに凡例を追加します。

rlocus(sys1,'b',sys2,'k',sys3,'r')
hold on
legend('sys1','sys2','sys3')
hold off

図には、同じプロット内に 3 つすべてのシステムの根軌跡図が含まれています。プロットのカスタマイズのさらなる詳細については、rlocusplotを参照してください。

この例では、次の SISO 伝達関数モデルについて考えます。

sys(s)=3s2+19s3+7s2+5s+6

上記の伝達関数モデルと rlocus を使用して、閉ループ極と関連するフィードバック ゲイン値を抽出します。

sys = tf([3 0 1],[9 7 5 6]);
[r,k] = rlocus(sys)
r = 3×53 complex
102 ×

  -0.0094 + 0.0000i  -0.0104 + 0.0000i  -0.0105 + 0.0000i  -0.0106 + 0.0000i  -0.0107 + 0.0000i  -0.0108 + 0.0000i  -0.0109 + 0.0000i  -0.0111 + 0.0000i  -0.0112 + 0.0000i  -0.0113 + 0.0000i  -0.0115 + 0.0000i  -0.0117 + 0.0000i  -0.0119 + 0.0000i  -0.0121 + 0.0000i  -0.0124 + 0.0000i  -0.0126 + 0.0000i  -0.0129 + 0.0000i  -0.0132 + 0.0000i  -0.0135 + 0.0000i  -0.0139 + 0.0000i  -0.0143 + 0.0000i  -0.0148 + 0.0000i  -0.0152 + 0.0000i  -0.0158 + 0.0000i  -0.0163 + 0.0000i  -0.0170 + 0.0000i  -0.0177 + 0.0000i  -0.0184 + 0.0000i  -0.0192 + 0.0000i  -0.0201 + 0.0000i  -0.0211 + 0.0000i  -0.0222 + 0.0000i  -0.0233 + 0.0000i  -0.0246 + 0.0000i  -0.0259 + 0.0000i  -0.0274 + 0.0000i  -0.0290 + 0.0000i  -0.0307 + 0.0000i  -0.0326 + 0.0000i  -0.0346 + 0.0000i  -0.0368 + 0.0000i  -0.0392 + 0.0000i  -0.0418 + 0.0000i  -0.0446 + 0.0000i  -0.0476 + 0.0000i  -0.0508 + 0.0000i  -0.0543 + 0.0000i  -0.0582 + 0.0000i  -0.0623 + 0.0000i  -0.0667 + 0.0000i
   0.0008 + 0.0084i   0.0006 + 0.0083i   0.0006 + 0.0082i   0.0006 + 0.0082i   0.0006 + 0.0082i   0.0006 + 0.0082i   0.0005 + 0.0082i   0.0005 + 0.0082i   0.0005 + 0.0082i   0.0005 + 0.0081i   0.0005 + 0.0081i   0.0004 + 0.0081i   0.0004 + 0.0081i   0.0004 + 0.0080i   0.0004 + 0.0080i   0.0003 + 0.0080i   0.0003 + 0.0080i   0.0003 + 0.0079i   0.0002 + 0.0079i   0.0002 + 0.0078i   0.0002 + 0.0078i   0.0002 + 0.0078i   0.0001 + 0.0077i   0.0001 + 0.0077i   0.0001 + 0.0076i   0.0000 + 0.0076i   0.0000 + 0.0075i  -0.0000 + 0.0074i  -0.0000 + 0.0074i  -0.0000 + 0.0073i  -0.0001 + 0.0073i  -0.0001 + 0.0072i  -0.0001 + 0.0071i  -0.0001 + 0.0071i  -0.0001 + 0.0070i  -0.0001 + 0.0070i  -0.0001 + 0.0069i  -0.0001 + 0.0068i  -0.0001 + 0.0068i  -0.0001 + 0.0067i  -0.0001 + 0.0067i  -0.0001 + 0.0066i  -0.0001 + 0.0066i  -0.0001 + 0.0065i  -0.0001 + 0.0065i  -0.0001 + 0.0064i  -0.0001 + 0.0064i  -0.0001 + 0.0064i  -0.0001 + 0.0063i  -0.0001 + 0.0063i
   0.0008 - 0.0084i   0.0006 - 0.0083i   0.0006 - 0.0082i   0.0006 - 0.0082i   0.0006 - 0.0082i   0.0006 - 0.0082i   0.0005 - 0.0082i   0.0005 - 0.0082i   0.0005 - 0.0082i   0.0005 - 0.0081i   0.0005 - 0.0081i   0.0004 - 0.0081i   0.0004 - 0.0081i   0.0004 - 0.0080i   0.0004 - 0.0080i   0.0003 - 0.0080i   0.0003 - 0.0080i   0.0003 - 0.0079i   0.0002 - 0.0079i   0.0002 - 0.0078i   0.0002 - 0.0078i   0.0002 - 0.0078i   0.0001 - 0.0077i   0.0001 - 0.0077i   0.0001 - 0.0076i   0.0000 - 0.0076i   0.0000 - 0.0075i  -0.0000 - 0.0074i  -0.0000 - 0.0074i  -0.0000 - 0.0073i  -0.0001 - 0.0073i  -0.0001 - 0.0072i  -0.0001 - 0.0071i  -0.0001 - 0.0071i  -0.0001 - 0.0070i  -0.0001 - 0.0070i  -0.0001 - 0.0069i  -0.0001 - 0.0068i  -0.0001 - 0.0068i  -0.0001 - 0.0067i  -0.0001 - 0.0067i  -0.0001 - 0.0066i  -0.0001 - 0.0066i  -0.0001 - 0.0065i  -0.0001 - 0.0065i  -0.0001 - 0.0064i  -0.0001 - 0.0064i  -0.0001 - 0.0064i  -0.0001 - 0.0063i  -0.0001 - 0.0063i

k = 1×53

         0    0.4201    0.4542    0.4911    0.5309    0.5740    0.6205    0.6709    0.7253    0.7841    0.8477    0.9165    0.9908    1.0712    1.1581    1.2521    1.3536    1.4634    1.5822    1.7105    1.8493    1.9993    2.1614    2.3368    2.5263    2.7313    2.9529    3.1924    3.4514    3.7313    4.0340    4.3613    4.7151    5.0975    5.5111    5.9581    6.4415    6.9640    7.5289    8.1397    8.8000    9.5138   10.2856   11.1200   12.0220   12.9973   14.0516   15.1915   16.4238   17.7561

sys には 3 つの極が含まれているため、極 r の結果の配列のサイズは 3 行 53 列です。r の各列はベクトル k からのゲイン値に対応します。この例では、rlocus は自動的に 0 から無限大までの 53 の k の値を選択して、3 つの閉ループ極についての滑らかな軌跡を取得しました。

display(r(:,39))
  -3.2585 + 0.0000i
  -0.0145 + 0.6791i
  -0.0145 - 0.6791i
display(k(39))
    7.5289

たとえば、r(:,39) には、フィードバック ゲイン値 7.5289 についての上記の閉ループ極が含まれます。

この例では、次の SISO 伝達関数モデルについて考えます。

sys(s)=0.5s2-14s4+3s2+2

伝達関数モデルと必要なフィードバック ゲイン値のベクトルを定義します。この例では、0.5 ずつインクリメントして 1 から 8 まで変化する一連のゲイン値について考え、rlocus を使用して閉ループ極配置を抽出します。

sys = tf([0.5 0 -1],[4 0 3 0 2]);
k = (1:0.5:5);
r = rlocus(sys,k);
size(r)
ans = 1×2

     4     9

sys には 4 つの閉ループ極が含まれるため、結果として得られる閉極配置 r の配列のサイズは 4 行 9 列です。ここで、9 列は k で定義されている 9 つの特定のゲイン値に対応しています。

k の特定のゲイン値についての閉ループ極の軌跡を根軌跡プロット上で可視化することもできます。

rlocus(sys,k)

入力引数

すべて折りたたむ

SISO 動的システム。次のいずれかとして指定します。

  • tf モデル、zpk モデルまたは ss モデルを含む、連続時間または離散時間数値 LTI モデル。

  • genssuss (Robust Control Toolbox) モデルなどの一般化された、あるいは不確かさをもつ LTI モデル。(不確かさをもつモデルを使用するには Robust Control Toolbox™ ソフトウェアが必要です。)

    rlocus は次を仮定します。

    • 調整可能な制御設計ブロックについては調整可能なコンポーネントの現在値。

    • 不確かさをもつ制御設計ブロックについてはモデルのノミナル値。

  • idtf (System Identification Toolbox)idss (System Identification Toolbox)idproc (System Identification Toolbox)idpoly (System Identification Toolbox)idgrey (System Identification Toolbox) モデルなどの、同定された LTI モデル。(同定されたモデルを使用するには System Identification Toolbox™ ソフトウェアが必要です。)

極配置に関連するフィードバック ゲイン値。ベクトルとして指定します。フィードバック ゲインは極の軌跡を定義し、それにより根軌跡プロットの形状に影響します。

出力引数

すべて折りたたむ

k の各値に対応する sys の閉ループ極配置。nm 列の配列として返されます。ここで、nsys および m = max(length(k)) の閉ループ極の数です。

極配置に関連するフィードバック ゲイン値。ベクトルとして返されます。フィードバック ゲインは極の軌跡を定義し、それにより根軌跡プロットの形状に影響します。k がユーザーによって定義されていない場合、rlocus は、滑らかなプロットを作成できるように状況に応じて正のゲインの集合 k を選択します。

ヒント

バージョン履歴

R2006a より前に導入