MATLAB/Simulink与控制系统仿真实验报告姓名:喻彬彬学号:K031541725实验1、MATLAB/Simulink仿真基础及控制系统模型的建立一、实验目的1、掌握MATLAB/Simulink仿真的基本知识;2、熟练应用MATLAB软件建立控制系统模型。二、实验设备电脑一台;MATLAB仿真软件一个三、实验内容1、熟悉MATLAB/Smulink仿真软件。2、一个单位负反馈二阶系统,其开环传递函数为210()3Gsss。用Simulink建立该控制系统模型,用示波器观察模型的阶跃响应曲线,并将阶跃响应曲线导入到MATLAB的工作空间中,在命令窗口绘制该模型的阶跃响应曲线。3、某控制系统的传递函数为()()()1()YsGsXsGs,其中250()23sGsss。用Simulink建立该控制系统模型,用示波器观察模型的阶跃响应曲线,并将阶跃响应曲线导入到MATLAB的工作空间中,在命令窗口绘制该模型的阶跃响应曲线。4、一闭环系统结构如图所示,其中系统前向通道的传递函数为320.520()0.11220sGsssss,而且前向通道有一个[-0.2,0.5]的限幅环节,图中用N表示,反馈通道的增益为1.5,系统为负反馈,阶跃输入经1.5倍的增益作用到系统。用Simulink建立该控制系统模型,用示波器观察模型的阶跃响应曲线,并将阶跃响应曲线导入到MATLAB的工作空间中,在命令窗口绘制该模型的阶跃响应曲线。四、实验报告要求实验报告撰写应包括实验名称、实验内容、实验要求、实验步骤、实验结果及分析和实验体会。五、实验思考题总结仿真模型构建及调试过程中的心得体会。题1、(1)利用Simulink的Library窗口中的【File】→【New】,打开一个新的模型窗口。(2)分别从信号源库(Sourse)、输出方式库(Sink)、数学运算库(Math)、连续系统库(Continuous)中,用鼠标把阶跃信号发生器(Step)、示波器(Scope)、传递函数(TransfernFcn)和相加器(Sum)4个标准功能模块选中,并将其拖至模型窗口。(3)按要求先将前向通道连好,然后把相加器(Sum)的另一个端口与传递函数和示波器的线段连好,形成闭环反馈。(4)双击传递函数。打开其“模块参数设置”对话框,并将其中的numerator设置为“[10]”,denominator设置为“[130]”,将相加器设置为“+-”。(5)绘制成功后,如图1所示。(6)对模型进行仿真,运行后双击示波器,得到系统的阶跃响应曲线如图2所示。图1图2题2:分别将SimulinkLibraryBrowser中的以下模块依次拖到untitled窗口中,连接后便得到整个控制系统的模型,如图3所示。图3对模型进行仿真,运行后双击示波器,得到系统的阶跃响应曲线如图4所示。图4题3:(1)在MATLAB中的SimulinkLibraryBrowser窗口下找到符合要求的模块,搭建模型,如图5所示。图5(2)修改各模块参数,运行仿真,单击“start”,点击示波器,得到如下结果,图6图6实验2MATLAB/Simulink在控制系统建模中的应用一、实验目的1、掌握MATLAB/Simulink在控制系统建模中的应用;二、实验设备电脑一台;MATLAB仿真软件一个三、实验内容1、给定RLC网络如图所示。其中,为输入变量,为输出变量。求解这个系统的传递函数模型,零极点增益模型以及状态空间模型(假设,,,)。()iut0()ut11R21R1CF1LH2、已知某双环调速的电流环系统的结构图如图所示。试采用Simulink动态结构图求其线性模型。题1:步骤1从数学上求出系统传递函数。根据电路基本定理,列出该电路的微分方程,如下:iuudtdiLiR0311同时还有ooudtdiLdtdCiRiuiii3223321整理以上方程,并在零初始条件下,取拉普拉斯变换,可得:21211)1(1)()()(RRsRLCsRsUsUsGio代入具体数值可得221)(2sssG步骤2使用MATLAB程序代码如下。clearall;num=[0,1];den=[122];sys_tf=tf(num,den)[z,p,k]=tf2zp(num,den)sys_zpk=zpk(z,p,k)[A,B,C,D]=zp2ss(z,p,k);sys_ss=ss(A,B,C,D)step(sys_tf);[A,B,C,D]=linmod('Samples_4_12')[num,den]=ss2tf(A,B,C,D);printsys(num,den,'s');四、实验报告要求实验报告撰写应包括实验名称、实验内容、实验要求、实验步骤、实验结果及分析和实验体会。五、实验思考题总结仿真模型构建及调试过程中的心得体会。实验3MATLAB/Simulink在时域分析法中的应用一、实验目的1、掌握时域分析中MATLAB/Simulink函数的应用;2、掌握MATLAB/Simulink在稳定性分析中的应用。二、实验设备电脑一台;MATLAB仿真软件一个三、实验内容1、某随动系统的结构如图所示。利用MATLAB完成如下工作:(1)对给定的随动系统建立数学模型;(2)分析系统的稳定性,并且绘制阶跃响应曲线;(3)计算系统的稳态误差;(4)大致分析系统的总体性能,并给出理论上的解释。2、已知某二阶系统的传递函数为222)(nnnsssG,(1)将自然频率固定为1n,5,3,2,1,...,1.0,0,分析变化时系统的单位阶跃响应;(2)将阻尼比固定为55.0,分析自然频率n变化时系统的阶跃响应(n变化范围为0.1~1)。四、实验报告要求实验报告撰写应包括实验名称、实验内容、实验要求、实验步骤、实验结果及分析和实验体会。五、实验思考题总结仿真模型构建及调试过程中的心得体会。题1:步骤1求取系统的传递函数。首先需要对系统框图进行化简。不难看出,题中给出的系统包含两级反馈:外环是单位负反馈;内环则是二阶系统与微分环节构成的负反馈。可以利用MATLAB中的feedback函数计算出系统的传递函数,代码如下。cic;clearaii;num1=[20];den1=[120];sys1=tf(num1,den1);num2=[0.10];den2=[01];sys2=tf(num1,den2);sys_inner=feedback(sys1,sys2);sys_outer=feedback(sys_inner,1)程序运行结果为:Transferfunction:20--------------s^2+4s+20这样就得到了系统的总传递函数,即G(s)=20S^2+4s+20步骤2进行稳态分析。根据求得的传递函数,对系统进行稳态性分析,代码如下:den=[1420];roots(den)pzmap(sys_outer);gridon;程序运行结果如下:ans=-2.0000+4.0000i-2.0000-4.0000i系统的零极点分布图如图1所示图1系统的零极点分布图步骤3求取阶跃响应计算系统的阶跃响应:可以采用MATLAB编程实现,还可以利用simulink对系统进行建模,直接观察响应曲线。MATLAB程序代码如下:num=[20];den=[1420];[y.t.x]=steo(num,den)plot(x,y);gridon;程序运行结果如图2所示-2-1.8-1.6-1.4-1.2-1-0.8-0.6-0.4-0.20-4-3-2-1012340.280.40.560.80.511.522.533.540.511.522.533.540.040.090.140.20.280.40.560.80.040.090.140.2Pole-ZeroMapRealAxisImaginaryAxis图2系统阶跃响应曲线采用simulink对系统进行建模,如图3所示图3利用Simulink对系统建模可以从scope中得到系统的不同响应曲线,如下图4,这与编程的结果完全相同的。00.511.522.500.20.40.60.811.21.4图4系统阶跃响应曲线步骤4分析系统的响应特性。在上面的语句[y.t.x]=steo(num,den)执行之后,变量y中就存放了系统阶跃响应的具体数值。从响应曲线中不难看出,系统的稳态值为1。可以利用如下代码计算系统的超调量。y_stable=1;max_response=max(y);sigma=(max_respomse-y_stable)/y_stable程序运行结果为sigma=0.2077同时可看出,系统的稳态误差为0。示波器error的波形显示如图5所示,可见,当阶跃输入作用系统2s后,输出就基本为1了。图5系统误差曲线还可以精确计算出系统的上升时间、峰值时间及调整时间。如上所述,y中储存了系统阶跃响应的数据;同时,x中方存放了其中每个数据对应的时间,编写代码如下。fori=1:length(y)Ify(i)y_stablebreak;endendtr=x(i)[max_response,index]=max(y);tp=x(index)fori=1:length(y)Ifmax(y(i:length(y)))=1.02*y_stableIfmin(y(i;length(y)))0.98*y_stablebreakendendendts=x(i)程序运次结果为tr=0.5298tp=0.7947ts=1.9074即上升时间为0.52s,峰值时间为0.77s,并且系统在经过1.88s后进入稳态。题2利用MATLAB建立控制系统的数学模型,并且同时显示Wn=1,阻尼系数取不同值时系统的阶跃响应曲线,代码如下clc;clear;t=linspace(0,20,200)’;omega=1;omega2=omega^2;zuni=[0,0.1,0.2,0.5,1,2,3,5];num=omega2;fork=1:8den=[12*zuni(k)*omegaomega2];sys=tf(num,den);y(:,k)=step(sys,t);endfigure(1);plot(t,y(:,1:8));grid;gtext(‘zuni=0’);gtext(‘zuni=0.1’);gtext(‘zuni=0.2’);gtext(‘zuni=0.5’);gtext(‘zuni=1’);gtext(‘zuni=2’);gtext(‘zuni=3’);gtext(‘zuni=5’);运行程序,结果如图6所示图6固定自然频率,阻尼比变化时系统的阶跃响应曲线利用MATLAB在一幅图像的上绘制阻尼系数=0.55,Wn从0.1变化到1时系统的阶跃响应曲线,代码如下clc;clear;t=linspace(0,20,200)’;zuni=0.55;0246810121416182000.20.40.60.811.21.41.61.82zuni=0zuni=0.1zuni=0.2zuni=0.5zuni=1zuni=2zuni=3zuni=5omega=[0.1,0.2,0.4,0.7,1];omega2=omega^2;fork=1:5num=omega2(k);den=[12*zuni*omega(k)omega2(k)];sys=tf(num,den);y(:,k)=step(sys,t);endfigure(2);plot(t,y(:,1:5));grid;gtext(‘omega=0.1’);gtext(‘omega=0.2’);gtext(‘omega=0.4’);gtext(‘omega=0.7’);gtext(‘omega=1.0’);运行代码,结果如图7所示图7固定阻尼系数,自然频率变化时系统的阶跃响应曲线实验4MATLAB/Simulink在根轨迹分析法中应用一、实