控制系统仿真实验报告学院:班级:姓名:学号:实验一数字仿真方法验证一、实验目的1.掌握基于数值积分法的系统仿真、了解各仿真参数的影响;2.掌握基于离散相似法的系统仿真、了解各仿真参数的影响;3.熟悉MATLAB语言及应用环境。二、实验内容(一)试将示例1的问题改为调用ode45函数求解,并比较结果。(1)建立描述微分方程组的函数m文件functiondu=syvdp(t,u)du=[u-(2*t)/u];(2)调用解题器指令ode45求解y[t,u]=ode45('syvdp',[0,1],1);plot(t,u(:,1),'r');xlabel('t');ylabel('u');legend('u');得到的结果如下图所示:(二)试用四阶RK法编程求解下列微分方程初值问题。仿真时间2s,取步长h=0.1。1)0(2ytydtdy采用RK法的程序cleart0=0;y0=1;h=0.1;n=2/h;y1=1;t1=0;fori=0:(n-1)k1=y0-t0*t0;k2=(y0+h/2*k1)-(t0+h/2)*(t0+h/2);k3=(y0+h/2*k2)-(t0+h/2)*(t0+h/2);k4=(y0+h*k3)-(t0+h/2)*(t0+h/2);y1=y0+h*(k1+2*k2+2*k3+k4)/6;t1=t0+h;y0=y1;t0=t1;y(i+2)=y1;t(i+2)=t1;endy1t1figure(1)plot(t,y,'r');得到的结果如下图所示:y1=2.6831t1=2.0000(三)试求示例3分别在周期为5s的方波信号和脉冲信号下的响应,仿真时间20s,采样周期Ts=0.1。系统响应程序程序如下clear%CreatesystemmodelA=[-0.5572-0.7814;0.78140];B=[1;0];C=[1.96916.4493];D=0;sys=ss(A,B,C,D);%Createinputsignal[u,t]=gensig('square',5,20,0.1);plot(t,u)%systemresponseholdonlsim(sys,u,t);holdoffgrid%impulseresponseofthesystemholdonimpulse(sys,5,20);holdoffgrid%impulseresponseofthesystemholdonimpulse(sys,5,20);holdoffgrid%impulseresponseofthesystemholdonimpulse(sys,20);holdoffgrid周期方波信号系统响应如下图所示:单位脉冲信号系统响应如下图所示:周期脉冲信号系统响应如下图所示:三、实验心得:通过本次实验,熟悉了解了MATLAB在自动控制当中的应用,了解了相关的传递函数及其操作,对于控制系统的建模有打好了基础。同时,学习了基本的输入函数,并求出对应的响应,对于实际中相关系统的分析有很大的帮助。同时,也巩固了MATLAB的画图功能,同样为之后对控制系统的仿真打下基础,对于相关传递函数图形的绘制有很大的帮助。实验二SIMULINK仿真实验一、实验目的熟悉工具箱及其使用,进行系统仿真分析,通过仿真对系统进行校正校验。二、实验内容熟悉有关控制工具箱命令与SIMULINK仿真工具的使用,并对实验题目作好分析设计。某系统框图如图所示,试用SIMULINK进行仿真,并比较在无饱和非线性环节下系统仿真结果。根据题目要求设计的仿真模型如下:仿真图形如下:三、结果分析将无饱和非线性环节和有饱和非线性环节比较,无饱和非线性环节超调量更大,调整时间更长,震荡次数更多,有饱和非线性环节系统更容易达到稳定。四、实验心得:通过本次试验,熟悉了解了MATLAB中SIMULINK的应用,特别是在自动控制系统建模中,它非常的简便易操作,相比输入语句的建模来说,它形象而快速,不仅便于理解和分析,而且大大提高了仿真速度。同时,也巩固了MATLAB的画图功能,同样为之后对控制系统的仿真打下基础,对于相关传递函数图形的绘制有很大的帮助。实验三PID控制器设计一、实验目的1.了解PID控制原理,掌握相应PID控制器设计仿真程序的应用;2.掌握计算机辅助系统瞬态性能指标的计算;3.掌握计算机辅助系统频率性能分析;二、实验内容已知如图所示单位反馈系统要求:1.绘制系统的开环Nyquist图和Bode图,并判断该闭环系统是否稳定。2.应用Ziegler—Nichols方法设计P控制器、PI控制器和PID控制器。3.计算比较原系统与P控制系统、PI控制系统、PID控制系统的瞬态性能指标。1.调用函数绘制系统的开环Nyquist图和Bode图clearnum=[5005000];den=[133337177549505000];sys=tf(num,den);figure(1)nyquist(sys)[re,im,w1]=nyquist(sys);figure(2)bode(sys)[mag,phase,w2]=bode(sys);5000495017753373350005002345ssssssNyquist图Bode图根据系统稳定的充分必要条件为:系统的闭环特征根全部分布在S复平面的左半部,即具有负实部。或者说系统闭环传递函数的极点全部位于S复平面的左半部。由此建立函数分析该闭环系统稳定性:clearnum=[5005000];den=[133337177549505000];sys=tf(num,den);sysclose=feedback(sys,1);[a,p,k]=zpkdata(sysclose,'v');ii=find(real(p)0);np=length(ii)ifnp0disp('thesystemisnotstable')elsedisp('thesystemisstable')end程序结果如下:np=0thesystemisstable2.建立P控制器、PI控制器、PID控制器计算的函数m文件function[sysc,Kp,Ti,Td]=pidmargin(sys,type)margin(sys)[Gm,Pm,Wg,Wc]=margin(sys);Kcr=Gm;Wcr=Wg;Tcr=2*pi/Wcr;switchtypecase1disp('pcontroler')Kp=0.5*KcrTi='nodesign'Td='nodesign'sysc=Kp;case2disp('picontroler')Kp=0.4*KcrTi=0.8*TcrTd='nodesign'sysc=Kp*(1+tf(1,[Ti,0]));case3disp('pidcontroler')Kp=0.6*KcrTi=0.5*TcrTd=0.12*Tcrsysc=Kp(1+tf(1,[Ti,0])+tf([Td,0]),1)End用Ziegler---Nichols方法调用function函数求解系统校正控制器clfnum=[5005000];den=[133337177549505000];sys=[num,den];sysgroup=feedback(sys,1);fori=1:3type=i;[sysc,Kp,Ti,Td]=pidmargin(sys,type);sysopen=sysc*sys;sysclose=feedback(sysopen,1);sysgroup=append(sysgroup,sysclose);endclffori=1:4subplot(2,2,i)step(sysgroup(i,i))End程序结果如下:PControlerKp=1.7849Ti=NoDesignTd=NoDesignPIControlerKp=1.4279Ti=1.0882Td=NoDesignPIDControlerKp=2.1419Ti=0.6801Td=0.16323.由2计算得出的相关参数带入瞬态性能指标计算函数求得相关性能指标clearnum=[5005000];den=[133337177549505000];sys=tf(num,den);step(sys)%ComputesteadyvalueFinalvalue=polyval(num,0)/polyval(den,0)%Computeovershoot[y,t]=step(sys);[Ymax,k]=max(y);Peaktime=t(k)OvershootPercent=100*(Ymax-Finalvalue)/Finalvalue%Computerisetimen=1;whiley(n)0.1*Finalvalue,n=n+1;endm=1;whiley(m)0.9*Finalvalue,m=m+1;endRiseTime=t(m)-t(n)%Computesettlingtimer=length(t);while(y(r)0.98*Finalvalue&y(r)1.02*Finalvalue)r=r-1;endSettlingTime=t(r)程序结果如下:原系统瞬态性能指标Finalvalue=1Peaktime=4.0797OvershootPercent=-0.0626RiseTime=1.1126SettlingTime=2.3313P控制系统瞬态性能指标Finalvalue=1.7849Peaktime=3.3049OvershootPercent=-0.2908RiseTime=1.1279SettlingTime=2.3344PI控制系统瞬态性能指标Finalvalue=1.3122Peaktime=0.7844OvershootPercent=58.2044RiseTime=0.2615SettlingTime=2.4513Finalvalue=InfPeaktime=2.6617e+004OvershootPercent=NaN三、结果分析P控制器实质上是一个具有可调的放大器。该控制器在信号变换的过程中,只改变信号的增益而不影响其相位。在串联校正中,加大控制器的增益可以提高系统的通频带,提高系统的快速性。但同时比例系数的增大会降低该系统的相对不稳定性,甚至可能造成闭环系统的不稳定。PI控制器可以消除或减小系统的稳态误差,改善系统的稳态性能;系统的快速性能较P控制器有了较大的提高,系统的抗干扰能力有了进一步加强,系统受到干扰后恢复稳态的时间被大大缩短。PID控制器比例项为基本控制作用,有效的反应控制系统的偏差信号。微分项会反应偏差信号的变化趋势,加快系统的瞬态响应,改善平稳性,积分项主要用于消除误差,提高系统的稳态特性。四、实验心得:通过本次试验,熟悉了解了PID控制器的设计应用,特别是巩固了控制系统相关理论知识体系,MATLAB用非常的简便易操作,形象而快速理解和分析控制系统相关性能,大大提高了对模型的设计与分析速度。