fc2ブログ

制御工学その11

3.5 MATLABによる演習



今回もMATLABは調達できないのでScilabで代用する。また、グラフは全て横軸が時間で縦軸が応答。
例外の時は軸が書いてある。


3.5.1部分分数分解

MATLABではresidueとかいう関数があるらしいがScilabにはそんなのないので
pfssという関数で部分分解して個別にk1,p1を取り出す。

今回のお題は

P(s) = 4s+5/s^2+3s+2 = k1/s-p1 + k2/s-p2


-->h = (4*s+5)/(s^2+3*s+2)
h =

5 + 4s
----------
2
2 + 3s + s

-->a = pfss(h)
a =


a(1)

3
-----
2 + s

a(2)

1
-----
1 + s



これを使って実際にラプラス逆変換をプロットしてみる。

k1*e^p1*t + k2*e^p2*t

プロットしてみる。



重婚を含む場合はScilabのpfssはやってくんねえなあ。どうしようか


問題3.12

P(s) = 1/(s+1)

ステップ応答は1/sなので応答は

Y(s) = 1/(s+1)*s

これをScilab使って部分分数分解すると

1/s + -1/s+1

逆ラプラス変換すると

y(t) = 1 - e^-t

プロットしてみる



ランプ応答は1/s^2

Y(s) = 1/(s+1)*s^2

Scilab使って部分分数展開すると

Y(s) = 1/s+1 + 1-s/s^2 = 1/s^2 - 1/s + 1/s+1

逆ラプラス変換すると

y(t) = t - 1 + e^-t

プロットしてみる




3.5.2 インパルス応答

MATLABではimpulseとかいうわかりやすいのがあったがScilabではないので

-->sysP = (4*s+5)/(s^2+2*s+5)

-->plot2d(t,csim('impuls',t,sysP))

とこうして描画してみたのが



形はあってる。

3.5.3 ステップ応答

MATLABにはstepという以下略

Scilabでは

-->plot2d(t,csim('impuls',t,sysP))

でやってみる。



3.5.3 任意の入力

前略

Scilabでもできる。

u(t) = tならば

-->plot2d(t,csim(t,t,sysP))



u(t) = sin5tならば

-->plot2d(t,csim(sin(5*t),t,sysP))



となる。

問題3.13

伝達関数に対してステップ応答、ランプ応答、インパルス応答を書く。
ここには長いのでひとつだけ

P(s) = 2/(s+1)^2

のとき
ステップ応答は



ランプ応答は



インパルス応答は



問題3.14

問題3.10をシミュレートしてみる



-->M = 0.53
M =

0.53

-->c = 2.94
c =

2.94

-->k = 25
k =

25.

-->sysP3 = 1/(M*s^2+c*s+k)
sysP3 =

1
-----------------
2
25 + 2.94s + 0.53s

-->plot2d(t,csim('step',t,sysP3))



んで結果がこちら



問題3.10の通りになった。


まとめ

MATLABのインストールにてまどってる。アクティベーションキーがないのか壊れてるのか。


スポンサーサイト



コメントの投稿

非公開コメント

検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR