书中被控对象状态微分方程为:
function sys=mdlDerivatives(t,x,u)
ut=u(1);
sigma0=260;sigma1=2.5;sigma2=0.02;
Fc=0.28;Fs=0.34;
Vs=0.01;
J=1.0;
g=Fc+(Fs-Fc)*exp(-(x(2)/Vs)^2)+sigma2*x(2);
F=sigma0*x(3)+sigma1*x(3)+sigma2*x(2);
sys(1)=x(2);
sys(2)=1/J*(ut-F);
sys(3)=x(2)-(sigma0*abs(x(2))/g)*x(3);
分析x(3)为Z的微分项,因此在求F时前两项使用的是同一个状态变量,此处不合理。
需要增加一项状态变量,修改为
F=sigma0*x(4)+sigma1*x(3)+sigma2*x(2);
sys(1)=x(2);
sys(2)=1/J*(ut-F);
sys(3)=x(2)-(sigma0*abs(x(2))/g)*x(3);
sys(4)=x(3);