计算机仿真第四章课件

上传人:我*** 文档编号:146324474 上传时间:2020-09-29 格式:PPT 页数:42 大小:1.69MB
返回 下载 相关 举报
计算机仿真第四章课件_第1页
第1页 / 共42页
计算机仿真第四章课件_第2页
第2页 / 共42页
计算机仿真第四章课件_第3页
第3页 / 共42页
计算机仿真第四章课件_第4页
第4页 / 共42页
计算机仿真第四章课件_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《计算机仿真第四章课件》由会员分享,可在线阅读,更多相关《计算机仿真第四章课件(42页珍藏版)》请在金锄头文库上搜索。

1、1,第 4 章 MATLAB/Simulink下数学模型的建立与仿真,主讲教师:朱永胜,2,4.1Simulink模块库简介,在工程实际中,控制系统的结构往往很复杂,如果不借助专用的系统建模软件,则很难准确地把一个控制系统的复杂模型输入计算机,对其进行进一步的分析与仿真。 1990年,Math Works软件公司为MATLAB提供了新的控制系统模型图输入与仿真工具,并命名为SIMULAB,该工具很快就在控制工程界获得了广泛的认可,使得仿真软件进入了模型化图形组态阶段。但因其名字与当时比较著名的软件SIMULA类似,所以1992年正式将该软件更名为SIMULINK。 SIMULINK的出现,给复

2、杂系统分析与设计带来了福音。顾名思义,该软件的名称表明了该系统的两个主要功能:Simu(仿真)和Link(连接),即该软件可以利用鼠标在模型窗口上绘制出所需要的系统模型,然后利用SIMULINK提供的功能来对系统进行仿真和分析。,3,SIMULINK是MATLAB软件的扩展,它是实现动态系统建模和仿真的一个软件包,它与MATLAB语言的主要区别在于,其与用户交互接口是基于Windows的模型化图形输入,其结果是使得用户可以把更多的精力投入到系统模型的构建,而非语言的编程上。 所谓模型化图形输入是指SIMULINK提供了一些按功能分类的基本的系统模块,用户只需要知道这些模块的输入输出及模块的功能

3、,而不必考察模块内部是如何实现的,通过对这些基本模块的调用,再将它们连接起来就可以构成所需要的系统模型(以.mdl文件进行存取),进而进行仿真与分析。,4,采用Scope模块和其他的画图模块,在仿真进行的同时,就可观看到仿真结果。除此之外,用户还可以在改变参数后来迅速观看系统中发生的变化情况。仿真的结果还可以存放到MATLAB的工作空间里做事后处理。,用Simulink创建的模型可以具有递阶结构,因此用户可以采用从上到下或从下到上的结构创建模型。用户可以从最高级开始观看模型,然后用鼠标双击其中的子系统模块,来查看其下一级的内容,以此类推,从而可以看到整个模型的细节,帮助用户理解模型的结构和各模

4、块之间的相互关系。,在定义完一个模型后,用户可以通过Simulink的菜单或MATLAB的命令窗口键入命令来对它进行仿真。菜单方式对于交互工作非常方便,而命令行方式对于运行一大类仿真非常有用。,Simulink非常实用,应用领域很广,可使用的领域包括航空航天、电子、力学、数学、通信、影视和控制等。世界各地的工程师都在利用它来对实际问题建模,解决问题。,Simulink具有非常高的开放性,提倡将模型通过框图表示出来,或者将已有的模型添加组合到一起,或者将自己创建的模块添加到模型当中。,Simulink具有较高的交互性,允许随意修改模块参数,并且可以直接无缝地使用MATLAB的所有分析工具。对最后

5、得到的结果可进行分析,并能够将结果可视化显示。,5,启动Simulink,6,Simulink 下常用模块,1.连续系统模块组 Continuous 2.非线性模块组 Discontinuities 3.离散系统模块组 Discrete 4.查表模块组 Look-Up Tables 5.数学函数模块组 Math Operations 6.模型验证模块组 Modle Verification 7.模型工具模块组 Modle-Wide Utilities 8.端口与子系统模块组 Port 单击Simulink工具栏中的“新建模型”图标; 选中Simulink菜单系统中的File|New|Modle

6、菜单项; 还可使用new_system命令来建立新模型。 new_system(A) open_system(A),19,模块的选取,当选取单个模块时,只要用鼠标在模块上单击即可,此时模块的角上出现黑色小方块。选取多个模块时,选取拖拽鼠标的方式把要选择的模块全部包围即可,若所有被选取的模块都出现小黑方块,则表示模块被选中。,模块的复制、剪切、删除、移动,应用【Edit】【copy】/【cut】/【paste】/【clear】可对选取的模块进行复制,剪切,粘贴,删除等操作,如果要在同一窗口移动模块,则在模块选中的基础上,用鼠标进行拖拽并放在合适的位置。,20,模块的连接,直接将两个模块的输出(

7、)与输入( )端口相连即可,如果想快速连接,按【ctrl】。,Simulink 中几乎所有模块的参数Parameters都允许用户进行设置,只要双击要设置的模块即可。,模块参数的设置,21,模块的外形的调整 改变模块的大小 调整模块的方向 给模块加阴影 模块名的显示与消隐 修改模块名,22,仿真参数的选择,在Simulink中建立起系统模型框图后,运行菜单【Simulation】|【Start】就可以用Simulink对模型进行动态仿真。或者点击 一般在仿真运行前需要对仿真参数进行设置,运行菜单【Simulation】|【Parameters】完成设置。,23,算法设置(Solver) 在So

8、lver里需要设置仿真起始和终止时间、选择合适的解法(Solver)并指定参数、设置一些输出选择。 1、设置起始时间和终止时间(Simulation time) 【Simulation】|【Start time】设置起始时间,而【Stop time】设置终止时间,单位为“秒”。 2、算法设置(Solver option) (1)算法类型设置 仿真的主要过程一般是求解常微分方程组, 【Solver option】|【Type】用来选择仿真算 法的类型是变化的还是固定的。变步长解法可 以在仿真过程中根据要求调整运算步长,在采 用变步长解法时,应该先指定一个容许误差限 (【Relative tole

9、rance】或【Absolute tolerance】),使得当误差超过误差限时自动 修正仿真步长,【Max step size】用于设置 最大步长,在缺省情况下为“auto”,并按下式 计算最大步长: 最大步长=(终止时间-起始时间)/50,24,(2)仿真算法设置 离散模型:对变步长和定步长解法均采用discrete(no continuous state)。 连续模型:有变步长和定步长两种解法。 变步长解法有:ode45、ode23、ode113、ode15s、ode23s、ode23t,ode23st ode45:四阶/五阶 Runge-Kutta 算法,属单步解法; ode23:二阶

10、/三阶 Runge-Kutta 算法,属单步解法; ode113:可变阶次的 Adams-Bashforth-Moulton PECE算法,属于多步解法; ode15s:可变阶次的数值微分公式算法,属于多步解法; ode23s:基于修正的 Rosenbrock 公式,属单步解法。 定步长解法有:ode4、ode5、ode3、ode2、ode1 ode5:定步长的 ode45 解法; ode4:四阶 Runge-Kutta 算法; ode3:定步长 ode23 算法; ode2:Henu 方法,即改进的欧拉法。 ode1:欧拉法。,25,工作空间设置(Workspace I/O) 工作空间设置窗

11、口可以设置Simulink和当前工作空间的数据输入、输出。通过设置,可以从工作空间输入数据、初始化状态模块,也可以把仿真结果、状态变量、时间数据保存到当前工作空间。 1、从工作空间读入数据(Load from workspace) Simulink 通过设置模型的输入端口,实现在仿真过程中从工作空间读入数据,常用的输入端口模块为信号与系统模块库(Signals x01=1;x02=2; plot(tout,yout),figure, plot(yout(:,1),yout(:,2),29,30,该系统中,输入端采用两个信号的叠加形式,其中一个是实际输入的阶跃信号,另一个是系统的输入端子。在Si

12、mulink中,默认的阶跌输入模块的跳跃时间为1,而在控制系统研究中习惯将其定义为0、故可以修改其参数。要修改模型中其他模块的参数,则可以直接双击其图标,然后在得出的对话框中填入适当的数据即可。 仿真结果将自动返回到MATLAB的工作空问中,其中时间变量名为tout,输出信号的变量名为yout。使用命令plot(tout,yout),直流电机拖动系统,31,调整PI控制器的参数,可以改善控制效果,32,逻辑电路,Simulink的数学函数模块组中提供了“逻辑算子”(Logic operator)模块,可以搭建数字逻辑电路。,33,subplot(311),plot(tout,yout(:,1)

13、,set(gca,ylim,-0.1,1.1,box,off) subplot(312),plot(tout,yout(:,2),set(gca,ylim,-0.1,1.1,box,off) subplot(313),plot(tout,yout(:,3),set(gca,ylim,-0.1,1.1,box,off),34,4.4线性系统的计算机仿真,假设系统对输入u1(t)信号的响应为yl(t),而对u2(t)输入信号的响应为y2(t),若对任意的常数a和b,系统对输入信号。au1(t)+bu2(t)的响应可以表示成 ay1(t)+by2(t) 则称系统是线性的。这一性质义称为线性系统的叠加

14、原理。换句话说,所有满足叠加原理的系统都是线性的。 控制理论中经常使用的传递函数和零极点模型部是线性模型,状态方程也是线性模型。由于线性系统有自己的特性,分析起来比一般非线性系统容易得多,另外还可以采用间接的方式,如频域方法来分析系统的时域性质。,35,4.4.1线性系统的数学模型, num=1,7,24,24; den=1,10,35,50,24; G=tf(num,den) Transfer function: s3 + 7 s2 + 24 s + 24 - s4 + 10 s3 + 35 s2 + 50 s + 24,36,可以用下面的命令直接获得系统的零极点模型。 G1=zpk(G)

15、Zero/pole/gain: (s+1.539) (s2 + 5.461s + 15.6) - (s+4) (s+3) (s+2) (s+1),37,比较复杂的系统模型同样可以用这些简单的命令求出,例如例4.2的直流拖动系统,模型可以由下面的语句直接求出,g1=tf(1,0.01,1);g2=tf(0.17,1,0.085,0);g3=g1; g4=tf(0.15,1,0.051,0);g5=tf(70,0.0067,1);g6=tf(0.21,0.15,1); g7=tf(130,1,0);g8=0.212;g9=tf(0.1,0.01,1)*inv(g7);g10=0.0044*g1; gg1=feedback(g7*g6,g8);gg2=feedback(gg1*g5*g4,g9); G=feedback(gg2*g3*g2,g10)*g1;zpk(G) Zero/pole/gain: 111852502194.908 (s+100)2 (s+6.667) (s+5.882) - (s+180.9) (s+100)2 (s+84.12) (s+48.21) (s2 + 15.16s + 74.33) (s2 + 27.57s + 354),38,4.4.2线性连续系统的解析解,R, P, K=re

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号