006_BodePlots.mw

ボード線図と根軌跡図

イントロダクション

このワークシートでは、根軌跡図とボード線図を表示し、Maple のプロット機能を紹介します。

> restart;

> with(plots):

Warning, the name changecoords has been redefined

問題の定義

ループゲインの有理関数を、関数 f(s)=G(s)*H(s) として定義します。

> f:=s->(10*s+100)/(s*(s+2)*(s+5));

f := proc (s) options operator, arrow; (10*s+100)/(s*(s+2)*(s+5)) end proc

根軌跡のゲインの関数を定義します。

> gain:=s->1+K*f(s);

gain := proc (s) options operator, arrow; 1+K*f(s) end proc

根軌跡図のプロット

plots パッケージの 'rootlocus' コマンドを使い、根軌跡図をプロットします。

> rootlocus(f(s),s,-10..10,style=point,color=red,axes=normal);

[Plot]

ボード線図の作成とプロット

マウスポインタを使い、根軌跡図上から解かれる根を選択、ゲイン関数 K について解きます。(根軌跡図からゲインを求めるには、この方法はあまりエレガントな方法ではありません。(ライブラリコードを書き換えたほうがよいかもしれません。))

> solve(gain(-7.84),K);

6.019958520

ボード線図のプロットを Maple で直接描く事はできませんが、classical corner plot methods は使用できます。

関数は
omega = 2, 5, 10 rad/s で3つのコーナー周波数を持ちます。極 s = 0 は、omega rad/s に対し、傾き -20 dB/decade の漸近線を与えます。その他の極は次のように与えます。

> f1:=semilogplot(-20*log[10](s),s=1..2,y=-100..40):

> f2:=semilogplot(-40*log[10](s)+5,s=2..5,y=-100..40):

> f3:=semilogplot(-60*log[10](s)+20,s=5..1000,y=-100..40):

> display({f1},{f2},{f3});

[Plot]