pythonで制御工学に触れてみる
■はじめに
お久しぶりです。
今回はpythonで制御工学に触れてみようと思います。
1.ゲインと位相
2.インパルス応答
3.ステップ応答
を計算してみたいと思います。
■コード
なお実行すると以下の画面がでてきます。
左上:ゲインと周波数、右上:位相と周波数、左下:インパルス応答と時間、右下:ステップ応答と時間
になります。
■買って良かったもの紹介
今回はipadです。動画視聴や動画編集(Lumafusion)を使用しています。
■説明
num,denは伝達関数における分子、分母の係数を表しています。
つまり、
num=[1]
den=[1, 0.1, 1]
G=signal.lti(num,den)はG(s)=1/(s^2+0.1s+1)の伝達関数になります。
後は、
ボード線図を求めたければ signal.bode(G)
インパルス応答を求めたければ signal.impulse(G)
ステップ応答を求めたければ signal.step(G)
とすれば良いです。
■最後に
MATLABをやったことがある人にとっては当たり前の内容だったと思います。
なおpythonにはpython-contorolというMATLAB風なモジュールがあるため個人的にはscipyよりそちらがおすすめです。