设单位反馈系统的被控对象为 G(s)=1/(1+s)(2+s),请在横线中填入程序,完成如下PID控制仿真程序。


设单位反馈系统的被控对象为 G(s)=1/(1+s)(2+s),请在横线中填入程序,完成如下PID控制仿真程序。

(编程时字母用小写,符号、标点符号、括号用半角) clear

A.l; clear close; ts=0.1;k=10,z=[];p=[-1 -2]; syszpk=tf(zpk(z,p,k));sys=tf(syszpk); dsys=c2d(sys,ts,’zoh’); [num den]=tfdata(dsys,’v’); uk1=0;uk2=0; yk1=0;yk2=0; ek1=0;ei=0; for k=1 :1:200 time(k)=k*ts; rin(k)=1.0; ; error(k)=rin(k)-yout(k); ei=ei+error(k)*ts;kc=0.1;ki=0.4;kd=0.3; ; uk2=uk1;uk1=u(k); yk2=yk1;yk1=yout(k); ek1=error(k); end figure(1);plot(time,rin,’b’,time,yout(k));

正确答案:yout(k)=-den(2)*yk1-den(3)*yk2+num(2)*uk1+num(3)*uk2|u(k)=kc*error(k)+kd*(error(k)-ek1)+ki*ei


Tag:机械原理 程序 半角 时间:2024-01-19 15:00:38