实验三 编写M文件及程序完成一定的功能、Simulink仿真
一、实验目的:
1、熟悉M文件编制方法,学会编写一般性程序。
2、熟悉Simulink环境,用Simulink建立系统模型及仿真。
二、实验内容:
1、编写一个M函数文件,比较五个数的大小,并能返回五个数中的最大值和最小值。 2、编写一个M函数文件,使用for循环计算1~1000的累加和 。
3、编写一个M函数文件,使用while循环计算从1开始的奇数的连乘积S1,S1=1×3×5×…。要求S1<1×106,显示S1和最后一个奇数的值。
4、已知两子系统传递函数分别为:
57s?8G1(s)? G2(s)?2 试求:
s?1s?2s?9(1)两系统并联连接的等效传递函数,以及其分子向量num与分母向量den向量。 (2)两系统串联连接的等效传递函数,以及其分子向量num与分母向量den向量。 (3)以G2(s)为前向通道函数,以G1(s)为反馈通道函数,求其负反馈等效模型。 (4)完成(1)的传函模型和零极点以及状态空间模型的转换,并将(1)的传函进行部分分式展开。
5、求:负反馈连接闭环系统的传递函数,并求系统的阶跃响应。
6、已知系统的动态结构图模型,绘制其单位负反馈系统的单位阶跃响应曲线,并判断闭环系统的稳定性。(注:分别以指令方式完成和simulink环境下建模仿真。)
三、实验预习要求:
5
1、熟练M文件的编写。
2、对实验内容进行初步编程。
3、熟练SIMULINK建模方法,并进行建模仿真,以及对仿真结果进行分析。
四、实验报告要求:
1、写出经调试后正确的程序。
2、自行编制的M文件,要求写出题目和程序。
3、总结与回顾编程和调试过程中遇到的问题及解决的方法。 4、总结建模方法及仿真分析。
6
实验四 利用MATLAB对系统进行时域分析
一、实验目的:
1、熟悉在MATLAB环境下对系统进行时域分析。
二、实验内容:
1、已知单位负反馈控制系统的开环传递函数为G(s)?K。编写m文件绘制
s(s2?7s?17)K=10、100、1000时闭环系统的阶跃响应曲线;判断闭环系统的稳定性,如果不稳定,计算系统在右半s平面的根的数目;如果稳定计算稳态误差、上升时间、超调量和过渡过程时间;并分析增益系数与系统稳定性的关系。
2、设系统的微分方程为y(t)?6y(t)?25y(t)?25r(t),其中,y(t)为系统的输出变量,r(t)为系统的输入变量。
(1)利用MATLAB建立系统数学模型;
(2)绘制系统的单位阶跃响应曲线和单位脉冲响应曲线。
(3)利用LTIViewer工具绘制系统的单位阶跃响应曲线和单位脉冲响应曲线。
...?3、已知某单位负反馈二阶系统的开环传递函数为2n,
s?2??ns(1)将自然频率固定为?n?1,??0,0.1,0.4,0.5,0.7,0.8,1,2,5时绘制系统单位阶跃响应曲线,并分析阻尼比变化对系统的影响。
(2)将阻尼比固定为??0.55,?n?0.1,0.2,0.5,0.7,1,5时绘制系统单位阶跃响应曲线,并分析自然频率变化对系统的影响。
三、实验预习要求:
1、复习自动控制理论中系统时域研究相关内容。 2、对实验内容进行初步编程。
四、实验报告要求:
1、写出经调试后正确的程序。
2、自行编制的M文件,要求写出题目和程序。
3、总结与回顾编程和调试过程中遇到的问题及解决的方法。
7
2实验五 利用MATLAB进行根轨迹、频域分析 以及在Simulink下对非线性系统进行仿真分析
一、实验目的:
1、熟悉在MATLAB环境下对系统进行根轨迹分析; 2、熟悉在MATLAB环境下对系统进行根轨迹分析;
3、熟悉用在MATLAB/Simulink环境下对非线性系统进行分析。
二、实验内容:
1、某单位负反馈控制系统的开环传递函数为G(s)?K
(s?1)(s?2)(1)利用MATLAB中的rltool工具,绘制系统的根轨迹图,并确定是闭环系统稳定的K的取值范围;
(2)在rltool中,尝试添加新的极点(-3,0),观察根轨迹的变化,并确定使闭环系统稳定的K的取值范围; (3)在Simulink中对上述系统建模,给出K取不同值时系统在阶跃信号下的响应曲线,验证(2)中的结论。
2、已知某单位负反馈系统的结构如图所示。
(1)在MATLAB中建立上述控制系统的数学模型; (2)绘制系统的根轨迹曲线;
(3)判断点?2?10i是否在根轨迹曲线上; (4)确定使闭环系统稳定的K的取值范围。 3、某控制系统结构图如图所示。
(1)利用MATLAB建立上述控制系统的数学模型; (2)绘制开环系统的Bode图和Nyquist曲线;
(3)判断系统的稳定性,如不稳定,绘制闭环系统的零极点图,给出极点位置; (4)计算系统的幅值裕度、相角裕度、相角穿越频率及幅值穿越频率; (5)绘制系统的阶跃响应曲线。
8
4、给定非线性系统的结构如图所示,
(1)在Simulink中建立上述系统的模型;
(2)设开环增益为K=2,非线性环节输出上下限分别为0.05,0.2,0.5,1.0时,在同一个图形中绘制系统的阶跃响应曲线,并对仿真结果进行分析;
(3)当非线性环节输出上下限为0.5时,开环增益分别为2,5,6,10时,在同一图形中绘制系统的阶跃响应曲线,并对仿真结果进行分析。
三、实验预习要求:
1、复习自动控制理论中系统根轨迹分析,频域分析以及非线性系统分析的相关内容。 2、对实验内容进行初步编程与建模。
四、实验报告要求:
1、写出经调试后正确的程序。
2、自行编制的M文件,要求写出题目和程序。
3、总结与回顾编程和调试过程中遇到的问题及解决的方法。 4、总结系统建模仿真与结果分析中遇到的问题及解决的方法。
9
电气控制系统的MATLAB仿真技术
实验指导书
(自动化专业)
张晗霞
电子工程系实验中心
2010-07-15
1
《电气控制系统的MATLAB仿真技术》
课程实验教学指导书
一、课程基本信息
1、实验名称:《电气控制系统的MATLAB仿真技术》课程实验 2、课程性质:专业选修课 3、课程编号:
4、总学时:32(其中上课16学时,实验16学时)
5、先修课程:高等数学,线性代数,C语言,计算机基础与应用,自动控制原理,现代控制理论、过程控制系统
6、面向对象:自动化专业本科生(本二,本三) 7、开课系(室):自动化专业教研室
二、课程性质、目的和要求
MATLAB/SIMULINK是一个功能十分强大的数学应用软件,能够快速处理大量复杂的数学计算,如求矩阵的逆、矩阵的特征向量等等,同时可以进行大量的工程实验仿真。学生熟练掌握MATLAB,将能为后继课程的学习提供很好的计算工具和仿真平台。在经过全面的训练后,学生应达到下列要求:
1、基本掌握MATLAB基本语法和基本函数的用法,利用MATLAB这门工具语言联系以前所学知识,突破数学计算方面的障碍,更好地理解基本概念、基本原理。
2、掌握MATLAB在自动控制理论、现代控制理论及过程控制中的应用,加深对自动控制理论、现代控制理论及过程控制原理的相关知识的理解。
3、掌握MATLAB的工具箱SIMULINK的使用,要求能够熟练建立不同控制系统模型并实现仿真。
4、能根据需要选学参考书,查阅手册,通过独立思考,深入钻研有关问题,学会自己独立分析问题、解决问题,具有一定的创新能力。
三、主要仪器
PC机一台。
四、实验方式与基本要求
本课程开设8个实验,实验共16学时。 五、实验项目的设置与内容见后面附1。
六、考核与报告
1、熟悉MATLAB 软件和simulink 环境,并完成所给的习题。完成以上内容的同学,在完成后交教师验收,完成好而快的同学可进入下一层次,由教师做考勤记录,缺勤20%者跟下一届学生补做,迟到和缺勤者影响成绩。每人一台计算机独立完成,每完成一个梯度的内容交教师验收通过后,记录入实验情况表。完成的时间、完成的情况、完成的独立程度均影响成绩
2、本实验课程要求每小组实验人数不超过1人。
3、实验成绩根据考勤、实验态度、动手能力、创新能力、实验报告来综合评定。
实验成绩占该理论课程总成绩的30%-40%。包括课前预习、操作、实验结果,实验报告,其中实际制作70%,设计报告30%。根据这四方面综合给出优、良、中、及格、不及格等成绩。
实验报告包括: 系统原理图说明、软件程序、实验结果和设计小结等。 最后的实验结果、程序按下面的格式存放在教师指定的目录下: d\\指定目录\\学号\\实验。
七、教材及实验指导书
[1].《MATLAB/SIMULINK与控制系统仿真》, 王正林, 王胜开等. 北京:电子工业出版社, 2009. [2].《MATLAB自动控制系统设计》, 张德丰等. 北京: 机械工业出版社, 2010.
[3]. 《基于MATLAB/SIMULINK的系统仿真技术与应用》, 薛定宇, 陈阳泉. 北京:清华大学出版社, 2010.
2
附1
实验一 Matlab入门与基本运算
一、实验目的:
1、熟悉Matlab基本运行环境 2、学习基本数值运算方法 二、实验内容:
1、熟悉MATLAB的运行环境。 2、掌握数值运算的基本命令及函数。 3、完成如下操作:
(1) 输入两个2*2矩阵a,b,并在a矩阵上添加一行,元素为7,8,形
成c矩阵;在a矩阵上添加一列,元素为4,7,形成d矩阵。 (2) a(2,2),a(2,:),b(:,2)分别是多少?
?13?a???57???24?(3) 完成a,b两个矩阵的加、减、乘、左除、右除、a矩阵的乘方、bb??68???矩阵的转置、b的对数以及a的指数运算。 4、输入3*3矩阵a,并求a的行列式的值,a的转置。
5、输入3*3矩阵a,元素为:1、3、5、2、4、6、7、9、13,求a的特征值、特征向量、秩和迹。
6、已知3*3矩阵a,元素为7、3、-2、3、4、-1、-2、-1、3,分别求矩阵a的LU分解,QR分解,奇异值分解,Schur分解。
7、完成如下特殊矩阵的生成:空矩阵、3维单位阵、3维全1矩阵、3维全0矩阵、3维魔方矩阵、3维随机矩阵。 8、求矩阵a=[2 -5 4 7]的伴随矩阵。
?2x1?x2?3x3?5?9、已知一线性方程组为 ? 3x 1 ? x 2 ? 5x 3 ? 5 ,求该方程组的解。
?4x?x?x?9 23?1?123??a??456????789??三、思考与总结:
1、熟悉Matlab的启动和退出。
2、熟悉MATLAB的命令窗口的组成;
3、 总结基本数值运算方法和基本符号运算方法。 四、实验报告要求:
1、写出完成相应数学运算的指令。
2、总结与回顾数学运算过程中遇到的问题及解决的方法。
3
实验二 MATLAB在复数中的应用及绘图功能
一、实验目的:
1、学习复数运算方法。 2、熟悉MATLAB绘图功能。
二、实验内容:
i1、用MATLAB表达复数z1?3?4i,z2?1?2i,z3?2e6,并计算 z?z1z2z3
?2、利用MATLAB绘制出抛物线曲线。
?12?Atr(t)??2??0t?0t?0其中A为常数。要求给图形加标题,给X轴、Y轴加标注,添加图例,打开坐标网格线。
sin(x), -6≤x≤0
3、绘制分段函数
x, 0 -x+6, 3 在区间 [-6,6]中的图形。 4、已知y1=3*sin(x),y2=cos(x),y3=y1*y2,完成下列操作: (1)在同一坐标系下用不同的颜色和线型绘制三条曲线。 (2)在同一个窗口中显示3条曲线。 三、实验预习要求: 1、复习MATLAB下复数运算及绘图的相关指令知识。 2、对实验内容进行初步编程。 四、实验报告要求: 1、写出完成复数运算的相应指令。 2、熟悉MATLAB下绘图的相关指令。 3、总结与回顾复数运算及绘图过程中遇到的问题及解决的方法。 4 实验六 MATLAB在线性系统状态空间分析与设计中的应用 一、实验目的: 1、熟悉MATLAB在线性系统状态空间分析中的应用; 2、熟悉MATLAB在线性系统状态空间设计中的应用。 二、实验内容: ?1??0?1???x???x??0?u, 1、已知系统的状态方程如下:??2?3?????y??10?x?(1)利用MATLAB建立控制系统的数学模型,并求对角标准型数学模型; (2)编程绘制上述系统的阶跃响应和冲激响应,并用李亚普诺夫法分析系统稳定性,其中Q为单位阵; (3)练习使用LTIViewer工具,绘制系统的阶跃响应和冲激响应曲线; (4)计算上述系统的能控矩阵和能观矩阵,判断系统的能控制和能观性,并进行能控性结构分解和能观性结构分解,写出能控和能观性分解后的矩阵; (5)求t=0.5s时状态转移矩阵。 2、给定系统 ?00???10?0???2?30??0? 0??x???u????x ?1?1??0?20??????4?12?4 ???2???y??3010?x? (1)利用MATLAB建立控制系统的数学模型; (2)计算上述系统的传递函数; (3)判断系统的可控性和可观性;如果不是完全可控或完全客观的,则计算其可控子空间维数和可观子空间维数(维数等于可控或可观性矩阵的秩); (4)计算系统的传递函数,根据传函计算系统的零极点,并判断系统的稳定性。 3、已知系统的开环传递函数为, G(s)?20s3?4s2?3s(1)利用MATLAB建立上述控制系统的数学模型; (2)将得到的传函模型装换为状态空间模型; (3)计算状态反馈矩阵,使闭环系统的极点位于-5和-2±2i; (4)绘制反馈前后系统的阶跃响应曲线。 4、已知倒立摆系统的状态空间方程如下: ?0???20.601?x?????0????0.4905???1y????0?1000000000010??0???1?0??x???u?0?1????0??0.5?0?x0??10 (1)利用M ATLAB建立上述控制系统的数学模型; (2)计算系统的可控性矩阵,判断系统是否完全能控; (3)设计状态反馈矩阵,使闭环系统的极点位于p1,2??10,p3,4??2?23i。 三、实验预习要求: 1、复习现代控制理论中状态空间的分析与设计的相关知识。 2、对实验内容进行初步编程。 四、实验报告要求: 1、写出经调试后正确的程序。 2、自行编制的M文件,要求写出题目和程序。 3、总结与回顾编程和调试过程中遇到的问题及解决的方法。 11 实验七 MATLAB/Simulink在控制器参数整定中的应用 一、实验目的: 1、熟悉在MATLAB/Simulink下对控制器参数进行整定; 二、实验内容: 11、已知控制系统的开环传递函数为 s(s?1)(s?5) 用临界比例度法计算系统P、PI、PID控制器的参数,并绘制整定后系统的单位阶跃响应曲线。 再尝试用衰减曲线法和Z-N法整定控制器参数。 2、自行建立系统模型,并采用不同仿真方法进行参数整定,熟练掌握参数整定过程。 三、实验预习要求: 1、复习控制器参数整定的相关知识。 四、实验报告要求: 1、熟练掌握控制器参数整定过程及整定方法。 2、对系统进行参数整定结果进行分析。 3、总结与回顾控制器参数整定过程中遇到的问题及解决的方法。 12 实验八 MATLAB/Simulink在过程控制中的应用 一、实验目的: 1、熟悉用MATLAB/Simulink建立过程控制系统数学模型并进行仿真。 二、实验内容: 1、某隧道窑炉串级控制系统如图,其中主控制器是PI控制器,参数为比例系数8.4,积分系数为0.5,副控制器为P控制器,参数为10,step3和step4分别为系统的一次和二次扰动,用Simulink建立该系统数学模型,并求无扰动和加入扰动后的系统单位阶跃响应,以及系统分别在一次扰动和二次扰动作用下的系统输出响应。仿真时间为100s。 2、某比值控制系统如图,主动量和从动量的比值关系为4,两个延迟环节的延迟时间均为5s在Simulink下建立该系统数学模型,其中PID controller参数为比例系数0.3,积分系数0.02,PID controller1参数为比例系数0.35,积分系数0.012,仿真时间150s,(1)求系统在无干扰时主动量和从动量的阶跃响应,(2)求系统在有不确定干扰时主动量和从动量的阶跃响应。 3、自行建立过程控制中的不同系统模型并进行相应的仿真。 13 三、实验预习要求: 1、复习过程控制系统中常见的控制方法。 2、复习SIMULINK建模与仿真。 四、实验报告要求: 1、建立过程控制系统模型并进行仿真。 2、对仿真结果进行分析。 3、总结系统建模仿真与结果分析中遇到的问题及解决的方法。 14