面向结构图的连续系统数字仿真.doc

上传人:doc321 文档编号:14913281 上传时间:2022-02-24 格式:DOC 页数:18 大小:1.25MB
返回 下载 相关 举报
面向结构图的连续系统数字仿真.doc_第1页
第1页 / 共18页
面向结构图的连续系统数字仿真.doc_第2页
第2页 / 共18页
面向结构图的连续系统数字仿真.doc_第3页
第3页 / 共18页
面向结构图的连续系统数字仿真.doc_第4页
第4页 / 共18页
面向结构图的连续系统数字仿真.doc_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《面向结构图的连续系统数字仿真.doc》由会员分享,可在线阅读,更多相关《面向结构图的连续系统数字仿真.doc(18页珍藏版)》请在三一文库上搜索。

1、文档供参考,可复制、编制,期待您的好评与关注! 学 号: 2010133330课 程 设 计题 目面向结构图的连续系统数字仿真学 院计算机科学与信息工程学院专 业自动化班 级2010级2班学生姓名小指导教师吴诗贤2013年12月20日17 / 18面向结构图的连续系统数字仿真姓名:陶园 班级:10自动化3班 学号:2010133330摘要根据自动控制系统中面向结构图的数字仿真的基本思想,探讨了仿真过程中典型环节的规范性、系统的连接矩阵、仿真求解、程序框图问题,并应用到实际的范例当中,并分析了结果总结了相关特点和相关结论。自动控制系统常常是由许多环节组成的,要应用数字仿真方法对系统进行分析和研究

2、,首先需要求出总的传递函数,再转化为状态空间表达式的形式,然后对其求解。当改变系统某一环节的参数时,尤其是要改变小闭环中某一环节的参数时,以上整个过程又需要重新计算,这对研究对象参数变化对整个控制系统的影响是十分不便的,为了克服这些缺点,同时大多数从事自动化工作的科技人员更习惯于用结构图的形式来分析和研究控制系统,为此产生了面向结构图的仿真方法。该方法只需将各个环节的参数及各环节间的连接方式输入计算机,仿真程序就能自动求出闭环系统的状态空间表达式。本课程设计主要介绍典型环节参数和连接关系构成闭环系统的状态方程的方法,而动态响应的计算,仍采用四阶龙格-库塔法。这种方法具有便于研究各个环节参数对系

3、统的影响,并可以得到每个环节的动态响应,以及对多输入输出系统的进行仿真的有点。关键字:结构图;典型环节;连接矩阵;数字仿真;1、设计任务已知某一系统结构如下图所示,编写matlab程序求a分别为2,4,6,8,10,12时输出量y的动态响应。图12、需求分析及概要设计2.1 需求分析根据上述设计任务我们可以基本明确在我们课程设计当中应该明确以下几个方面: 熟悉在数字计算机仿真技术中常用的四阶龙格-库塔算法。 明确在面向结构图的连续系统数字仿真,典型环节及其系数矩阵确定。 明确各连接矩阵的确定。 能够熟练运用MATLAB仿真软件。 2.2 设计思路自动控制系统常常是由许多环节组成的,要应用数字仿

4、真方法对系统进行分析和研究,首先需要求出总的传递函数,再转化为状态空间表达式的形式,然后对其求解。当改变系统某一环节的参数时,尤其是要改变小闭环中某一环节的参数时,以上整个过程又需要重新计算,这对研究对象参数变化对整个控制系统的影响是十分不便的,为了克服这些缺点,同时大多数从事自动化工作的科技人员更习惯于用结构图的形式来分析和研究控制系统,为此产生了面向结构图的仿真方法。该方法只需将各个环节的参数及各环节间的连接方式输入计算机,仿真程序就能自动求出闭环系统的状态空间表达式。以下是我们课程设计的主要设计思路框图:典型环节确定连接矩阵的确定确定系统的状态方程数字仿真任务分析图22.3 连接矩阵确定

5、:一个控制系统用典型环节来描述时,必须用连接矩阵把各个典型环节连接起来。所谓连接矩阵,就是用矩阵的形式表示各个典型环节之间的关系。以下是我们课程设计当中连接矩阵确定的分析过程:x1u2x2u3x3yu1r=10+图3由上图我们可以得出各环节输入与各环节输出间的关系,以及系统输出与各环节输出间的关系分别为和。由此可得各个环节的输入,以及系统输出的关系表达式为: ,根据以上两式和各典型环节的系数值,可得如下链接矩阵和系数矩阵:, , 。3、算法实现3.1 面向结构图的连续系统数字仿真流程框图在本次课程设计当中,我们通过分析题目随后开始我们的程序编写,我们发现在编写程序上,变化数据的输入上我们能够采

6、用两种不同的方法,一种是把变化的数据通过人为的单个输入到程序中,然后逐一的得出我们对应的仿真结果。另外一种是通过循环控制的方式,把我们需要改变的数据加入到程序当中,并且把不同的变量对应的仿真结果反映到同一张图片当中。于是,这里我们这里就具有两个不同的程序流程图。3.1.1 单个输入程序流程图:NY开始给定输入信号和典型环节参数及连接矩阵输入环节变量a输入仿真时间Tf和计算步长h求矩阵求A,B矩阵根据龙格-库塔法求状态方程的根计算系统输出yt=Tf?输出结果,绘制仿真曲线结束图43.1.2 利用循环控制实现a=2,4,6,8,10,12的仿真分析的流程图:NNYY开始给定输入信号和连接矩阵输入仿

7、真时间Tf和计算步长ha=2:2:12循环结束?计算典型环节参数矩阵P求矩阵求A,B矩阵根据龙格-库塔法求状态方程的根计算系统输出yt=Tf?输出结果,绘制仿真曲线结束图53.2 程序代码在本次课程设计当中,我们通过分析题目随后开始我们的程序编写,我们发现在编写程序上,变化数据的输入上我们能够采用两种不同的方法,一种是把变化的数据通过人为的单个输入到程序中,然后逐一的得出我们对应的仿真结果。另外一种是通过循环控制的方式,把我们需要改变的数据加入到程序当中,并且把不同的变量对应的仿真结果反映到同一张图片当中。于是,这里我们这里就具有两个不同的程序代码。3.2.1 单个输入代码段r=10; %系统

8、输入型号a=input(输入环节变量a=); %输入环节变量aP=0.1 1 0.5 1;0 1 1 0;1 1 a 1; %各个典型环节系数矩阵W=0 0 -1;1 0 0;0 1 0;W0=1;0;0;Wc=0 0 1; %连接矩阵Tf=input(仿真时间Tf=);h=input(计算步长h=); A1=diag(P(:,1); %diag 建立对角矩阵B1=diag(P(:,2);C1=diag(P(:,3);D1=diag(P(:,4);H=B1-D1*W; Q=C1*W-A1; % 求取H,Q矩阵A=inv(H)*Q; %inv逆矩阵 根据公式求去AB矩阵B=inv(H)*C1*W

9、0;x=zeros(length(A),1); %产生length(A)行 1列的0矩阵y=zeros(length(Wc(:,1),1);t=0;for i=1:Tf/h %龙格-库塔法求取状态方程的根 K1=A*x+B*r; K2=A*(x+h*K1/2)+B*r; K3=A*(x+h*K2/2)+B*r; K4=A*(x+h*K3)+B*r; x=x+h*(K1+2*K2+2*K3+K4)/6; y=y,Wc*x; t=t,t(i)+h;endplot(t,y) %绘制仿真曲线 以下是图片处理gtext(a=2)gtext(Tf=10)gtext(h=0.2)title(a=2时系统的仿

10、真曲线)xlabel(时间(t))ylabel(系统输出(y))3.2.2 利用循环控制实现a=2,4,6,8,10,12的仿真分析代码:r=10; %系统输入型号W=0 0 -1;1 0 0;0 1 0;W0=1;0;0;Wc=0 0 1; %连接矩阵Tf=input(仿真时间Tf=);h=input(计算步长h=);for a=2:2:12 P=0.1 1 0.5 1;0 1 1 0;1 1 a 1; %各个典型环节系数矩阵 A1=diag(P(:,1); %diag 建立对角矩阵 B1=diag(P(:,2); C1=diag(P(:,3); D1=diag(P(:,4); H=B1-D

11、1*W; Q=C1*W-A1; % 求取H,Q矩阵 A=inv(H)*Q; %inv逆矩阵 根据公式求去AB矩阵 B=inv(H)*C1*W0; x=zeros(length(A),1); %产生length(A)行 1列的0矩阵 y=zeros(length(Wc(:,1),1); t=0; for i=1:Tf/h %龙格-库塔法求取状态方程的根 K1=A*x+B*r; K2=A*(x+h*K1/2)+B*r; K3=A*(x+h*K2/2)+B*r; K4=A*(x+h*K3)+B*r; x=x+h*(K1+2*K2+2*K3+K4)/6; y=y,Wc*x; t=t,t(i)+h; e

12、nd plot(t,y) %绘制仿真曲线 hold onendhold offgtext(a=2) %图片标注gtext(a=4)gtext(a=6)gtext(a=8)gtext(a=10)gtext(a=12)gtext(Tf=15)gtext(h=0.4)title(系统仿真曲线)xlabel(时间(t))ylabel(系统输出(y))4、调试分析过程及结果4.1 仿真和调试在仿真过程中我们采用的是Matlab软件,Matlab是一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复

13、杂的应用程序(M文件)后再一起运行。在现在的自动控制系统的仿真上,由于该软件的方便使用,受到人们青睐。因此我们课程设计也选用了该软件作为我们的调试和仿真的工具。在是用Matlab软件对我们设计的系统进行调试的过程中,我们参照了很多关于程序调试的方法,其常见的调试方法有:(1)设置或清除断点:使用快捷键F12。 (2) 执行:使用快捷键F5。(3) 单步执行:使用快捷键F10。 (4) step in:当遇见函数时,进入函数内部,使用快捷键F11。(5) step out:执行流程跳出函数,使用快捷键Shift+F11。(6) 执行到光标所在位置:非常遗憾这项功能没有快捷键,只能使用菜单来 完成

14、这样的功能。(7) 观察变量或表达式的值:将鼠标放在要观察的变量上停留片刻,就会显示出变量的值,当矩阵太大时,只显示矩阵的维数。 (8) 退出调试模式:没有设置快捷键,使用菜单或者快捷按钮来完成。由于我们是初次使用这个软件,对于程序的调试我们也没有使用更为繁琐的步奏,而是采用了常见的调试方法,直接调试。在调试过程我们遇到了很多问题,包括语法的错误。这主要是我们在编写程序的时候没有注意到matlab程序的变量设置问题。最后通过查阅相关资料我们顺利的完成了程序编写,并且实现了我们想要功能。其调试窗口(见下图):图64.2 仿真结果在本课程设计当中,为了更好的验证系统,我们选用了两组数据进行验证,分

15、别是仿真时间Tf=10,步长h=0.2和仿真时间Tf=15,步长h=0.4。并得出了在这两组数据下a分别取不同值时的仿真曲线图。4.2.1当仿真时间Tf=10,步长h=0.2时,不同a的仿真结果(1) a=2的仿真曲线图:图7(2) a=4的仿真曲线图:图8(3) a=6的仿真曲线图:图9(4) a=8的仿真曲线图:图10(5) a=10的仿真曲线图:图11(6) a=12的仿真曲线图:图12(7) a=2,4,6,8,10,12的仿真结果:图134.2.2 当仿真时间Tf=15,步长h=0.4时,不同a的仿真结果(1) a=2的仿真曲线图:图14(2) a=4的仿真曲线图:图15(3) a=

16、6的仿真曲线图:图16(4) a=8的仿真曲线图:图17(5) a=10的仿真曲线图:图18(6) a=12的仿真曲线图:.图19(7) a=2,4,6,8,10,12的仿真结果:图205、心得体会两周的课程设计结束了,在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。在设计过程中,与同学分工设计,和同学们相互探讨,相互学习,相互监督。学会了合作,学会了运筹帷幄,学会了宽容,学会了理解,也学会了做人与处世。课程设计是我们专业课程知识综合应用的实践训练,着是我们迈向社会,从事职业工作前一个必不少的过程”千里之行始于足下”,通过这次课程

17、设计,我深深体会到这句千古名言的真正含义我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础。 通过这次面向结构图的连续系统数字仿真的仿真,本人在多方面都有所提高。熟悉了在数字计算机仿真技术中常用的几种数值积分方法,特别是四阶龙格-库塔法。明确了在面向结构图的连续系统数字仿真中,典型环节及其系数矩阵确定。明确了各连接矩阵的确定。能够熟练运用MATLAB仿真软件。在此感谢我们的吴老师.,老师严谨细致、一丝不苟的作风一直是我工作、学习中的榜样;老师循循善诱的教导和不拘一格的思路给予我无尽的启迪;这次设计的每个实验细节和每个数据,都离不开老师您的细心指导

18、。而您开朗的个性和宽容的态度,帮助我能够很顺利的完成了这次课程设计。 同时感谢对我帮助过的同学们,谢谢你们对我的帮助和支持,让我感受到同学的友谊。 由于本人的设计能力有限,在设计过程中难免出现错误,恳请老师们多多指教,我十分乐意接受你们的批评与指正,本人将万分感谢。参考文献1李国勇等.计算机仿真技术与CAD. 北京:电子工业出版社,20082王正林等.MATLAB/Simulink与控制系统仿真,电子工业出版社,20123王海英等.控制系统的MATLAB仿真与设计.北京:高等教育出版社,20094涂植英等.自动控制原理.重庆大学出版社,20055邓莉,自动控制中面向结构图的连续系统数字仿真J.重庆工商大学学报.2004

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1