您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > MATLAB实验报告
《MATLAB/Simulink与控制系统仿真》实验报告专业:班级:学号:姓名:指导教师:实验1、MATLAB/Simulink仿真基础及控制系统模型的建立一、实验目的1、掌握MATLAB/Simulink仿真的基本知识;2、熟练应用MATLAB软件建立控制系统模型。二、实验设备电脑一台;MATLAB仿真软件一个三、实验内容1、熟悉MATLAB/Smulink仿真软件。2、一个单位负反馈二阶系统,其开环传递函数为210()3Gsss。用Simulink建立该控制系统模型,用示波器观察模型的阶跃响应曲线,并将阶跃响应曲线导入到MATLAB的工作空间中,在命令窗口绘制该模型的阶跃响应曲线。图1系统结构图图2示波器输出结果图3、某控制系统的传递函数为()()()1()YsGsXsGs,其中250()23sGsss。用Simulink建立该控制系统模型,用示波器观察模型的阶跃响应曲线,并将阶跃响应曲线导入到MATLAB的工作空间中,在命令窗口绘制该模型的阶跃响应曲线。图3系统结构图图4示波器输出结果图图5工作空间中仿真结果图形化输出4、一闭环系统结构如图所示,其中系统前向通道的传递函数为320.520()0.11220sGsssss,而且前向通道有一个[-0.2,0.5]的限幅环节,图中用N表示,反馈通道的增益为1.5,系统为负反馈,阶跃输入经1.5倍的增益作用到系统。用Simulink建立该控制系统模型,用示波器观察模型的阶跃响应曲线,并将阶跃响应曲线导入到MATLAB的工作空间中,在命令窗口绘制该模型的阶跃响应曲线。图6系统结构图图7示波器输出结果实验2MATLAB/Simulink在控制系统建模中的应用一、实验目的1、掌握MATLAB/Simulink在控制系统建模中的应用;二、实验设备电脑一台;MATLAB仿真软件一个三、实验内容1、给定RLC网络如图所示。其中,为输入变量,为输出变量。求解这个系统的传递函数模型,零极点增益模型以及状态空间模型(假设,,,)。传递函数模型221)(2sssG程序代码如下:clearall;%清除工作空间的变量num=[0,1];%定义分子多项式den=[122];%定义分母多项式sy_tf=tf(num,den);%建立传递函数模型[z,p,k]=tf2zp(num,den)%从传递函数模型获取系统的零极点增益sy_zpk=zpk(z,p,k);%建立系统的零极点增益模型[A,B,C,D]=zp2ss(z,p,k);%从零极点增益模型获取系统的状态空间模型sys_ss=ss(A,B,C,D)%建立系统的状态空间模型step(sy_tf)%求解系统的阶跃响应gridon;%添加栅格程序运行结果z=Emptymatrix:0-by-1p=-1.0000+1.0000i-1.0000-1.0000ik=1a=x1x2x1-2-1.414x21.4140b=u1()iut0()ut11R21R1CF1LHx11x20c=x1x2y100.7071d=u1y10Continuous-timemodel.图8系统的阶跃响应曲线2、已知某双环调速的电流环系统的结构图如图所示。试采用Simulink动态结构图求其线性模型。图9simulink中的系统动态模型将图2模型存为“Samples_4_14.mdl”文件在MATLAB命令窗口运行以下命令,得到一个线性状态空间模型(A,B,C,D)。[A,B,C,D]=linmod('Samples_4_14');%提取simulink模型的状态空间模型输出结果如下A=1.0e+003*-0.07810001.79640-0.50000000.01410-0.50000000.5000-0.50000000.1600-0.16000.0250-0.0599B=01000C=195.31250000D=0在MATLAB命令窗口运行以下命令[num,den]=ss2tf(A,B,C,D);%将状态空间模型转换为传递函数模型pritfsys(num,den,'s');%以传递函数模型形式显示出来输出结果:num/den=4.5475e-013s^4+5.8208e-011s^3+56137724.5509s^2+32454622005.9881s+2192879865269.464-----------------------------------------------------------------------------s^5+1138.0052s^4+392683.3832s^3+43221369.7605s^2+3506268712.5749s+157887350299.4013实验3MATLAB/Simulink在时域分析法中的应用一、实验目的1、掌握时域分析中MATLAB/Simulink函数的应用;2、掌握MATLAB/Simulink在稳定性分析中的应用。二、实验设备电脑一台;MATLAB仿真软件一个三、实验内容1、某随动系统的结构如图所示。利用MATLAB完成如下工作:(1)对给定的随动系统建立数学模型;(2)分析系统的稳定性,并且绘制阶跃响应曲线;(3)计算系统的稳态误差;(4)大致分析系统的总体性能,并给出理论上的解释。图1系统的结构图解:利用MATLAB求解的基本步骤如下1.求取系统传递函数clc;clearall;num1=[20];den1=[120];sys1=tf(num1,den1);%二阶系统的传递函数num2=[0.10];den2=[01];sys2=tf(num2,den2);%微分环节传递函数sys_inner=feedback(sys1,sys2);%内环反馈的传递函数sys_outer=feedback(sys_inner,1)%外环反馈的传递函数20--------------s^2+4s+20得到系统的传递函数2042^20G(s)ss2.进行稳定性分析den=[1420];roots(den)%求闭环系统特征多项式的根pzmap(sys_outer);%利用pzmap命令绘制系统的零极点图gridon;程序运行结果ans=-2.0000+4.0000i-2.0000-4.0000i由结果可知,系统特征根都具有负实部,因此闭环系统是稳定的。系统零极点分布图如图2所示图2系统零极点分布图3.求阶跃响应num=[20];den=[1420];[y,t,x]=step(num,den)%计算闭环系统的阶跃响应plot(x,y);%绘制阶跃响应曲线gridon;如下图3,横坐标表示响应时间,纵坐标表示系统输出图3系统阶跃响应曲线图4系统阶跃响应曲线4.分析系统的响应特性%计算系统的超调量y_stable=1;%阶跃响应的稳态值max_response=max(y);%闭环系统阶跃响应的最大值sigma=(max_response-y_stable)%阶跃响应的超调量程序运行结果sigma=0.2076系统稳态误差为0,波形图如下图5系统误差曲线图%计算系统的上升时间fori=1:length(y)%遍历响应曲线ify(i)y_stable%如果某个时刻系统的输出值大于稳态值break;%循环中断endendtr=x(i)%计算此时对应的时间,就是阶跃响应的上升时间%计算系统的峰值时间[max_response,index]=max(y);%查找系统阶跃响应的最大值tp=x(index)%计算此时对应的时间,就是阶跃响应的峰值时间%计算系统的调整时间---------》取误差带为2%fori=1:length(y)%遍历响应曲线ifmax(y(i:length(y)))=1.02*y_stable%如果当前响应值在误差带内ifmin(y(i:length(y)))=0.98*y_stablebreak;%循环退出endendendts=x(i)%计算此时对应的时间,就是阶跃响应的调整时间程序运行结果tr=0.5245tp=0.7730ts=1.8773即上升时间为0.52秒,峰值时间0.77秒,并且系统在经过1.88秒后进入稳态。2、已知某二阶系统的传递函数为222)(nnnsssG,(1)将自然频率固定为1n,5,3,2,1,...,1.0,0,分析变化时系统的单位阶跃响应;(2)将阻尼比固定为55.0,分析自然频率n变化时系统的阶跃响应(n变化范围为0.1~1)。(1)解:利用MATLAB建立控制系统的数学模型,并且同时显示n=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');图10固定自然频率,阻尼比变化时系统的阶跃响应曲线结论:当固定频率后,改变阻尼比,在1不会改变阶跃响应的震荡频率;而当1时,阶跃响应曲线不再震荡,系统阻尼。(2)绘制=0.55,n从0.1变化到1是系统的阶跃响应曲线clc;clear;t=linspace(0,20,200);%设置仿真时间zuni=0.55;%设定阻尼系数omega=[0.10.20.40.71];%设定自然频率向量omega2=omega.*2;%计算自然频率的平方fork=1:5%循环五次,分别计算在五种不同的自然频率下系统的阶跃响应num=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));%在一幅图像上依次绘出上述5条阶跃响应曲线grid;gtext('omega=0.1');gtext('omega=0.2');gtext('omega=0.4');gtext('omega=0.7');gtext('omega=1.0');图11固定阻尼系数,自然频率变化时系统的阶跃响应曲线结论:当自然频率n从0.1变化到1时,系统震荡频率加快,上升时间减少,过渡过程时间减少;系统响应更加迅速,动态性能更好。自然频率n决定了系统阶跃响应的震荡频率。实验4MATLAB/Simulink在根轨迹分析法中应用一、实验目的1、掌握MATLAB/Simulink绘制根轨迹函数;2、掌握MATLAB/Simulink绘制根轨迹的方法。二、实验设备电脑一台;MATLAB仿真软件一个三、实验内容1、已知单位负反馈控制系统的开环传递函数)4)(1()1()(ssssksG。(1)画出这个系统的根轨迹;(2)确定使闭环系统稳定的增益值k;(3)分析系统的阶跃响应性能;(4)利用rltool对系统的性能进行分析。解:利用MATLAB求解的基本步骤如下1.建立系统的数学模型代码clc;clear;num=[11];den=conv([10],conv([1-1],[14]));sys=tf(num,den)%控制系统的开环传递函数模型程序运行结果Transferfunction:s+1-----------------s^3+3s^2-4s结果输出是用来绘制部分根轨迹的那部
本文标题:MATLAB实验报告
链接地址:https://www.777doc.com/doc-1231481 .html