MatlabでPID制御のシミュレーションをする。システムとPID制御器の伝達関数は
\begin{align}
P&=\frac{1}{s+1} \\
C&=K_P + \frac{K_I}{s} + K_D s
\end{align}
またフィードバックの伝達関数は
\begin{align}
G=\frac{PC}{1+PC}
\end{align}
\(K_P,K_I,K_D\)を適当に定めて実行すると
となる。以下コード
clc
clear
close all
s=tf("s");
Kp=10;
Ki=1.25;
Kd=0.125;
P=1/(1+s);
C=Kp+Ki/s+Kd*s;
G=P*C/(1+P*C);
t=0:0.01:10;
r=zeros(size(t));
r(0.5/0.01:end)=1;
y=lsim(G,r,t);
figure;
plot(t,y,"k")
hold on
plot(t,r,'k--')
grid on
コメント