制御工学には古典制御で用いられる伝達関数とは別に、現代制御で用いられる状態空間モデルがある。状態空間モデルは次のようなものである。
\begin{align}
\dot{x}&=Ax+Bu\\
y&=Cx+Du
\end{align}
MATLABには状態空間モデルを定義できる関数が用意されている。この関数を用いて状態空間モデルを表現するには、あらかじめ各\(A,B,C,D\)についての行列を与えた上で
ss (A,B,C,D);
とすればいい。
今回は適当なシステムのstep応答を調べプロットした。
プログラムはこんな感じ。
A=[0 1;-1 -1];
B=[0 1]';
C=[2 0];
D=0;
sysP=ss (A,B,C,D);
t=0:0.01:10;
y1=step(sysP,t);
figure(1)
plot(t,y1,'k','LineWidth',1)
xlabel('$t[s]$','Interpreter', 'latex')
ylabel('$y_{1}$','Interpreter', 'latex')
title('Step responses')
grid on
コメント