状態空間モデルをMATLABでシミュレーションする

MATLAB/simulink

制御工学には古典制御で用いられる伝達関数とは別に、現代制御で用いられる状態空間モデルがある。状態空間モデルは次のようなものである。

\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

コメント

タイトルとURLをコピーしました