《MATLAB Simulink与控制系统仿真》实验报告.docx
MATLAB/Simulink 与控制系统仿真实验报告专 业 班 级 学 号 姓 名 指导教师 实验 1、MATLAB/Simulink 仿真基础及控制系统模型的建立一、实验目的1、掌握 MATLAB/Simulink 仿真的基本知识;2、熟练应用 MATLAB 软件建立控制系统模型。二、实验设备电脑一台;MATLAB 仿真软件一个三、实验内容1、熟悉 MATLAB/Smulink 仿真软件。2、一个单位负反馈二阶系统,其开环传递函数为 。用 Simulink 建立2103Gs该控制系统模型,用示波器观察模型的阶跃响应曲线,并将阶跃响应曲线导入到 MATLAB 的工作空间中,在命令窗口绘制该模型的阶跃响应曲线。图 1 系统结构图图 2 示波器输出结果图3、某控制系统的传递函数为 ,其中 。用 Simulink1YsGXs2503s建立该控制系统模型,用示波器观察模型的阶跃响应曲线,并将阶跃响应曲线导入到MATLAB 的工作空间中,在命令窗口绘制该模型的阶跃响应曲线。图 3 系统结构图 图 4 示波器输出结果图图 5 工作空间中仿真结果图形化输出4、一闭环系统结构如图所示,其中系统前向通道的传递函数为,而且前向通道有一个-0.2 ,0.5的限幅环节,图中用 N320.10sGsA表示,反馈通道的增益为 1.5,系统为负反馈,阶跃输入经 1.5 倍的增益作用到系统。用Simulink 建立该控制系统模型,用示波器观察模型的阶跃响应曲线,并将阶跃响应曲线导入到 MATLAB 的工作空间中,在命令窗口绘制该模型的阶跃响应曲线。图 6 系统结构图图 7 示波器输出结果实验 2 MATLAB/Simulink 在控制系统建模中的应用一、实验目的1、掌握 MATLAB/Simulink 在控制系统建模中的应用;二、实验设备电脑一台;MATLAB 仿真软件一个三、实验内容1、给定 RLC 网络如图所示。其中, iut为输入变量, 0ut为输出变量。求解这个系统的传递函数模型,零极点增益模型以及状态空间模型(假设 1R,2R, 1CF, LH)。传递函数模型 212ssG程序代码如下clear all; 清除工作空间的变量num0,1; 定义分子多项式den1 2 2; 定义分母多项式sy_tftfnum,den; 建立传递函数模型z,p,ktf2zpnum,den 从传递函数模型获取系统的零极点增益sy_zpkzpkz,p,k; 建立系统的零极点增益模型A,B,C,Dzp2ssz,p,k; 从零极点增益模型获取系统的状态空间模型sys_ssssA,B,C,D 建立系统的状态空间模型stepsy_tf 求解系统的阶跃响应grid on; 添加栅格程序运行结果z Empty matrix 0-by-1p -1.0000 1.0000i-1.0000 - 1.0000ik 1a x1 x2x1 -2 -1.414x2 1.414 0 b u1x1 1x2 0 c x1 x2y1 0 0.7071d u1y1 0 Continuous-time model.图 8 系统的阶跃响应曲线2、已知某双环调速的电流环系统的结构图如图所示。试采用 Simulink 动态结构图求其线性模型。图 9simulink中的系统动态模型将图 2 模型存为“Samples_4_14.mdl”文件在 MATLAB 命令窗口运行以下命令,得到一个线性状态空间模型(A,B,C,D)。A,B,C,DlinmodSamples_4_14; 提取simulink模型的状态空间模型输出结果如下A 1.0e003 *-0.0781 0 0 0 1.79640 -0.5000 0 0 00.0141 0 -0.5000 0 00 0.5000 -0.5000 0 00 0.1600 -0.1600 0.0250 -0.0599B 01000C 195.3125 0 0 0 0D 0在 MATLAB 命令窗口运行以下命令num,denss2tfA,B,C,D; 将状态空间模型转换为传递函数模型pritfsysnum,den,s; 以传递函数模型形式显示出来输出结果num/den 4.5475e-013 s4 5.8208e-011 s3 56137724.5509 s2 32454622005.9881 s 2192879865269.464-s5 1138.0052 s4 392683.3832 s3 43221369.7605 s2 3506268712.5749 s 157887350299.4013实验 3 MATLAB/Simulink 在时域分析法中的应用一、实验目的1、掌握时域分析中 MATLAB/Simulink 函数的应用;2、掌握 MATLAB/Simulink 在稳定性分析中的应用。二、实验设备电脑一台;MATLAB 仿真软件一个三、实验内容1、某随动系统的结构如图所示。利用 MATLAB 完成如下工作(1)对给定的随动系统建立数学模型;(2)分析系统的稳定性,并且绘制阶跃响应曲线;(3)计算系统的稳态误差;(4)大致分析系统的总体性能,并给出理论上的解释。图 1 系统的结构图解利用求解的基本步骤如下1求取系统传递函数clc;clear all;num120;den11 2 0;sys1tfnum1,den1; 二阶系统的传递函数num20.1 0;den20 1;sys2tfnum2,den2; 微分环节传递函数sys_innerfeedbacksys1,sys2; 内环反馈的传递函数sys_outerfeedbacksys_inner,1 外环反馈的传递函数20s2 4 s 20得到系统的传递函数 204Gss2进行稳定性分析den1 4 20;rootsden 求闭环系统特征多项式的根pzmapsys_outer; 利用pzmap命令绘制系统的零极点图grid on;程序运行结果ans -2.0000 4.0000i-2.0000 - 4.0000i由结果可知,系统特征根都具有负实部,因此闭环系统是稳定的。系统零极点分布图如图 2 所示图 2 系统零极点分布图3求阶跃响应num20;den1 4 20;y,t,xstepnum,den 计算闭环系统的阶跃响应plotx,y; 绘制阶跃响应曲线grid on;如下图3,横坐标表示响应时间,纵坐标表示系统输出图 3 系统阶跃响应曲线图 4 系统阶跃响应曲线4分析系统的响应特性计算系统的超调量y_stable1; 阶跃响应的稳态值max_responsemaxy; 闭环系统阶跃响应的最大值sigmamax_response-y_stable 阶跃响应的超调量程序运行结果sigma 0.2076系统稳态误差为 0,波形图如下图 5 系统误差曲线图计算系统的上升时间for i1lengthy 遍历响应曲线if yiy_stable 如果某个时刻系统的输出值大于稳态值break; 循环中断endendtrxi 计算此时对应的时间,就是阶跃响应的上升时间计算系统的峰值时间max_response,indexmaxy; 查找系统阶跃响应的最大值tpxindex 计算此时对应的时间,就是阶跃响应的峰值时间计算系统的调整时间-取误差带为2for i1lengthy 遍历响应曲线if maxyilengthy0.98*y_stable break; 循环退出endendendtsxi 计算此时对应的时间,就是阶跃响应的调整时间程序运行结果tr 0.5245tp 0.7730ts 1.8773即上升时间为 0.52 秒,峰值时间 0.77 秒,并且系统在经过 1.88 秒后进入稳态。2、已知某二阶系统的传递函数为 ,(1)将自然频率固定为22nssG, ,分析 变化时系统的单位阶跃响应;(2)将阻尼比 固1n5,321,.0 定为 ,分析自然频率 变化时系统的阶跃响应( 变化范围为 0.11)。5. nn(1)解利用建立控制系统的数学模型,并且同时显示 1, 取不同n值时的阶跃响应曲线clc;clear;tlinspace0,20,200;设置仿真时间omega1; 设置二阶系统的自然频率omega2omega2; 计算自然频率的平方zuni0,0.1,0.2,0.5,1,2,3,5;numomega2;for k18den1 2*zunik*omega omega2;systfnum,den;y,kstepsys,t;endfigure1;plott,y,18;grid;gtextzuni 0;gtextzuni 0.1;gtextzuni 0.2;gtextzuni 0.5;gtextzuni 1;gtextzuni 2;gtextzuni 3;gtextzuni 5;图 10 固定自然频率,阻尼比变化时系统的阶跃响应曲线结论当固定频率后,改变阻尼比,在 1 时,阶跃响应曲线不再震荡,系统阻尼。 (2)绘制 0.55, 从 0.1 变化到 1 是系统的阶跃响应曲线nclc;clear;tlinspace0,20,200; 设置仿真时间zuni0.55; 设定阻尼系数omega0.1 0.2 0.4 0.7 1; 设定自然频率向量omega2omega.*2; 计算自然频率的平方for k15 循环五次,分别计算在五种不同的自然频率下系统的阶跃响应 numomega2k; den1 2*zuni*omegak omega2k;systfnum,den; 系统传递函数 y,kstepsys,t; 计算当前自然频率下,二阶系统的阶跃响应值endfigure2;plott,y,15; 在一幅图像上依次绘出上述 5 条阶跃响应曲线grid;gtextomega0.1;gtextomega0.2;gtextomega0.4;gtextomega0.7;gtextomega1.0;图 11 固定阻尼系数,自然频率变化时系统的阶跃响应曲线结论当自然频率 从 0.1 变化到 1 时,系统震荡频率加快,上升时间减少,n过渡过程时间减少;系统响应更加迅速,动态性能更好。自然频率 决定了系统阶跃响应的震荡频率。n实验 4 MATLAB/Simulink 在根轨迹分析法中应用一、实验目的1、掌握 MATLAB/Simulink 绘制根轨迹函数;2、掌握 MATLAB/Simulink 绘制根轨迹的方法。二、实验设备电脑一台;MATLAB 仿真软件一个三、实验内容1、已知单位负反馈控制系统的开环传递函数 。(1)画出这4sksG个系统的根轨迹;(2)确定使闭环系统稳定的增益值 ;(3)分析系统的阶跃响应性能;(4)利用 rltool 对系统的性能进行分析。解利用求解的基本步骤如下1 建立系统的数学模型代码clc;clear;num1 1;denconv1 0,conv1 -1,1 4;systfnum,den 控制系统的开环传递函数模型程序运行结果Transfer functions 1-s3 3 s2 - 4 s结果输出是用来绘制部分根轨迹的那部分传递函数绘制根轨迹图rlocussys; 绘制系统的 根轨迹曲线grid on;title根轨迹图 ;得到系统根轨迹如图1图 6 系统根轨迹图利用“rlocfind“ 命令计算选定点处的增益和其他闭环极点。k,polesrlocfindsys 计算选定点处的增益和其他闭环极点运行结果k 6.2809poles -2.9488 -0.0256 1.4592i-0.0256 - 1.4592ii当增益6时,闭环系统的极点都位于虚轴的左部,处于稳定。3使用rltool进行分析执行命令“rltoolsys “得到根轨迹分析界面图形,图2所示图 7 控制系统根轨迹分析与设计器利用rltool进行工具分析系统的阶跃响应。设定系统增益为20,可得到如图3的结果分析,系统稳定,并且系统误差为0。系统的穿越频率为1.41,相角稳定裕度为17,剪切频率为1.38。图 8 K20 时系统的阶跃响应实验 5 MATLAB/Simulink 在频域分析法中的应用一、实验目的1、掌握 MATLAB 绘制伯德图和乃奎斯特曲线;2、熟练应用 MATLAB 分析稳定裕度。二、实验设备电脑一台;MATLAB 仿真软件一个三、实验内容1、已知晶闸管-直流电机开环系统结构图如图所示。试用 Simulink 动态结构图进行频域分析并求频域性能指标。解利用 simulink 求解步骤如下步骤 1 在 simulink 中建立系统动态模型,如下图图表 9 系统动态模型图步骤 2 求取系统的线性空间状态模型,并求取频域性能指标在 MATLAB 运行以下命令A,B,C,DlinmodSamples_7_9; 提取simulin 系统的线性空间状态模型sysssA,B,C,D;marginsys; 求取频域性能指标图表 10 系统的开环bode图和频域性能指标从图中可以看出幅值裕度GM26.4dB,穿越频率为152rad/sec相位裕度PM54deg ,穿越频率为25.5rad/sec实验 6 MATLAB_Simulink 在控制系统校正中的应用一、实验目的1、掌握建立控制系统的数学模型及设计系统的串联校正装置; 2、了解校正前后系统性能的比较。二、实验设备电脑一台;MATLAB 仿真软件一个三、实验内容1、某单位负反馈控制系统的开环传递函数 ,设计一个串联的21sksG校正装置,使校正后的系统静态速度误差系数 ,相角裕度 ,增益裕量045。dB10解求解步骤如下步骤 1 计算得系统开环传递函数 210ssG步骤 2 建立控制系统的数学模型代码如下clc;clear;num_open0 20;den_openconvconv1 0,1 1,1 2;sys_opentfnum_open,den_open运行结果Transfer function20-s3 3 s2 2 s步骤 3 分析系统的动态特性Gm,Pm,Wcg,Wcpmarginsys_open 计算相角裕量和增益裕量marginsys_open;运行结果Gm 0.3000Pm -28.0814Wcg 1.4142Wcp 2.4253频率响应特性曲线如下图表 11 闭环系统的频率响应曲线计算结果显示,未校正系统增益裕量只有10.5,相角裕量为28.0814,相角穿越频率为1.4142,幅值穿越频率为 2.4253。系统尚不稳定需要串联校正环节。步骤 4 设计系统的串联校正装置先设计止滞后环节。假定校正后的系统增益穿越频率为 1,并且取零极点之比为 10,则滞后环节的传递函数为 01.s设计串联校正器的滞后环节num_zhihou1 0.1;den_zhihou1 0.01;sys_zhihoutfnum_zhihou,den_zhihou; 滞后环节的传递函数模型sys_newsys_open*sys_zhihou 加入滞后环节后系统的开环传递函数marginsys_new; 绘制加入滞后环节后系统的Bode曲线图表 12 加入滞后环节的系统频率响应曲线根据滞后校正得出的结果,相应设计超前校正校正环节为 ,此时系统的频率响应如5s.0图表 3.设计串联校正器的超前环节num_chaoqian1 0.5;den_chaoqian1 5;sys_chaoqiantfnum_chaoqian,den_chaoqian;sys_newsys_new*sys_chaoqian;marginsys_new;图表 13 加入超前滞后校正环节后系统的频率响应曲线从上图知,此时闭环系统的增益裕量为 13.3,相角裕量为 52.5,穿越频率为 1.37;对比校正前后的系统频率响应figure1;bodesys_open;hold on;bodesys_new;gtext校正前的;gtext校正后的 ;gtext校正前的;gtext校正后的 ;grid on图表 14 系统校正前后不同的频率响应曲线校正后的系统开环传递函数为Transfer function20 s 2 12 s1s5 8.01 s4 17.08 s3 10.17s20.1 s步骤 5 比较教正前后的系统性能系统校正前后的阶跃响应曲线figure2;stepfeedbacksys_open,1;grid on;figure3;stepfeedbacksys_new,1;grid on;gtext校正前的;gtext校正后的 ;grid on;图表 15 系统校正前的阶跃响应曲线图表 16 系统校正后的阶跃响应曲线步骤6 采用rltool工具进行校正分析使用命令 rltoolsys_open校正结果如下图图表 17 利用 rltool 进行校正环节设计实验 6 MATLAB_Simulink 在控制系统校正中的应用一、实验目的1、掌握建立控制系统的数学模型及设计系统的串联校正装置; 2、了解校正前后系统性能的比较。二、实验设备电脑一台;MATLAB 仿真软件一个三、实验内容1、某单位负反馈控制系统的开环传递函数 ,设计一个串联的21sksG校正装置,使校正后的系统静态速度误差系数 ,相角裕度 ,增益裕量045。dB10解求解步骤如下步骤 1 计算得系统开环传递函数 210ssG步骤 2 建立控制系统的数学模型代码如下clc;clear;num_open0 20;den_openconvconv1 0,1 1,1 2;sys_opentfnum_open,den_open运行结果Transfer function20-s3 3 s2 2 s步骤 3 分析系统的动态特性Gm,Pm,Wcg,Wcpmarginsys_open 计算相角裕量和增益裕量marginsys_open;运行结果Gm 0.3000Pm -28.0814Wcg 1.4142Wcp 2.4253频率响应特性曲线如下图表 18 闭环系统的频率响应曲线计算结果显示,未校正系统增益裕量只有10.5,相角裕量为28.0814,相角穿越频率为1.4142,幅值穿越频率为 2.4253。系统尚不稳定需要串联校正环节。步骤 4 设计系统的串联校正装置先设计止滞后环节。假定校正后的系统增益穿越频率为 1,并且取零极点之比为 10,则滞后环节的传递函数为 01.s设计串联校正器的滞后环节num_zhihou1 0.1;den_zhihou1 0.01;sys_zhihoutfnum_zhihou,den_zhihou; 滞后环节的传递函数模型sys_newsys_open*sys_zhihou 加入滞后环节后系统的开环传递函数marginsys_new; 绘制加入滞后环节后系统的Bode曲线图表 19 加入滞后环节的系统频率响应曲线根据滞后校正得出的结果,相应设计超前校正校正环节为 ,此时系统的频率响应如5s.0图表 3.设计串联校正器的超前环节num_chaoqian1 0.5;den_chaoqian1 5;sys_chaoqiantfnum_chaoqian,den_chaoqian;sys_newsys_new*sys_chaoqian;marginsys_new;图表 20 加入超前滞后校正环节后系统的频率响应曲线从上图知,此时闭环系统的增益裕量为 13.3,相角裕量为 52.5,穿越频率为 1.37;对比校正前后的系统频率响应figure1;bodesys_open;hold on;bodesys_new;gtext校正前的;gtext校正后的 ;gtext校正前的;gtext校正后的 ;grid on图表 21 系统校正前后不同的频率响应曲线校正后的系统开环传递函数为Transfer function20 s 2 12 s1s5 8.01 s4 17.08 s3 10.17s20.1 s步骤 5 比较教正前后的系统性能系统校正前后的阶跃响应曲线figure2;stepfeedbacksys_open,1;grid on;figure3;stepfeedbacksys_new,1;grid on;gtext校正前的;gtext校正后的 ;grid on;图表 22 系统校正前的阶跃响应曲线图表 23 系统校正后的阶跃响应曲线步骤6 采用rltool工具进行校正分析使用命令 rltoolsys_open校正结果如下图图表 24 利用 rltool 进行校正环节设计实验 7 MATLAB/Simulink 在非线性系统中的应用一、实验目的1、掌握非线性系统阶跃响应的分析。二、实验设备电脑一台;MATLAB 仿真软件一个三、实验内容1、给定如图所示的单位负反馈系统。在系统中分别引入不同的非线性环节(饱和、死区和磁滞),观察系统的阶跃响应,并且分析、比较不同的非线性环节对系统性能的影响。解步骤 1,没有任何非线形环节的系统,其阶跃响应曲线如下图图表 25 未加入非线形环节的系统阶跃响应曲线步骤 2 加入了饱和非线形环节的系统框图,饱和非线形环节的输出上限为 0.1,输出下限为-0.1。其阶跃响应曲线如下图表 26 加入饱和非线形环节的系统阶跃响应曲线plottout1,out1; 绘制第一条阶跃响应曲线hold on; 设定在同一幅图象上绘制多条曲线grid on;gtext0.05; 为曲线添加标注plottout2,out2; 绘制第二条阶跃响应曲线gtext0.1; 为曲线添加标注plottout3,out3; 绘制第三条阶跃响应曲线gtext0.2; 为曲线添加标注plottout4,out4; 绘制第四条阶跃响应曲线gtext0.5; 为曲线添加标注图表 27 加入不同饱和非线形环节时系统阶跃响应曲线步骤 3 在系统中引入死区非线形环节,系统框图如下