ImageVerifierCode 换一换
格式:DOCX , 页数:39 ,大小:933.91KB ,
资源ID:9288577      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9288577.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(MATLAB教案ch09 SIMULINK交互式仿真集成环境.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

MATLAB教案ch09 SIMULINK交互式仿真集成环境.docx

1、MATLAB教案ch09 SIMULINK交互式仿真集成环境9 SIMULINK交互式仿真集成环境9.1 引导 SIMULINK是一个进行动态系统建模、仿真和综合分析的集成软件包。它可以处理的系统包括:线性、非线性系统;离散、连续及混合系统;单任务、多任务离散事件系统。 在SIMULINK 提供的图形用户界面GUI上,只要进行鼠标的简单拖拉操作就可构造出复杂的仿真模型。它外表以方块图形式呈现,且采用分层结构。从建模角度讲,这既适于自上而下(Top-down)的设计流程(概念、功能、系统、子系统、直至器件),又适于自下而上(Bottum-up) 逆程设计。从分析研究角度讲,这种SIMULINK模

2、型不仅能让用户知道具体环节的动态细节,而且能让用户清晰地了解各器件、各子系统、各系统间的信息交换,掌握各部分之间的交互影响。 在SIMULINK环境中,用户将摆脱理论演绎时需做理想化假设的无奈,观察到现实世界中摩擦、风阻、齿隙、饱和、死区等非线性因素和各种随机因素对系统行为的影响。在SIMULINK环境中,用户可以在仿真进程中改变感兴趣的参数,实时地观察系统行为的变化。由于SIMULINK环境使用户摆脱了深奥数学推演的压力和烦琐编程的困扰,因此用户在此环境中会产生浓厚的探索兴趣,引发活跃的思维,感悟出新的真谛。 在MATLAB5.3版中,可直接在SIMULINK环境中运作的工具包很多,已覆盖通

3、信、控制、信号处理、DSP、电力系统等诸多领域,所涉内容专业性极强。本书无意论述涉及工具包的专业内容,而只是集中阐述:SIMULINK 3.0的基本使用技法和相关的数值考虑。 节9.1虽是专为SIMULINK初学者写的,但即便是熟悉SIMULINK以前版本的读者也值得快速浏览这部分内容,因为新版的界面、菜单、工具条、模块库都有较大的变化。第9.2节比较详细地阐述建模的基本操作:通用模块的具体化设置、信号线勾画、标识、模型窗参数设置。这部分内容是进一步深入的前提。从第9.3节起,由浅入深地讲述SIMULINK对各种数学、工程问题的建模、仿真和分析的基本方法。 本章采用“算例”作为主体,配以适量的

4、归纳性表述。本章包含了31个“尽量简单”又“独立完整”的“典型”算例,而这正是SIMULINK在线PDF文件之所缺。读者通过“手、眼、脑”并用地练习算例,掌握SIMULINK的一般使用规则和操作技法。 鉴于SIMULINK的本质,本节算例必定涉及数学、物理、和若干工程考虑。本书已采取“无量纲记述”、“注释”等措施使算例尽可能易读易懂,读者只要稍微耐心,就可以从这些有背景的内容体验到SIMULINK仿真之细腻和切实,从这些带背景性的算例品出SIMULINK的精妙之处。9.1.1 SIMULINK的安装9.1.2 SIMULINK入门9.1.3 SIMULINK库浏览器界面9.2 模型的创建9.2

5、.1 模型概念和文件操作9.2.1.1 SIMULINK模型是什么9.2.1.2 模型文件的操作9.2.2 模块操作9.2.2.1 模块的基本操作9.2.2.2 向量化模块和标量扩展【*例9.2.2.2-1】演示“示波”模块的向量显示能力。图 9.2.2.2-1-1 示波器显示向量波形【*例9.2.2.2-2】演示“求和”模块的向量处理能力:输入扩展。图 9.2.2.2-2-1 输入的标量扩展【*例9.2.2.2-3】演示“增益”模块的向量处理能力:参数扩展。图 9.2.2.2-3-1 模块参数的标量扩展9.2.2.3 参数设置9.2.3 信号线操作9.2.3.1 产生连线9.2.3.2 信号

6、线的分支和折曲9.2.3.3 信号线宽度显示9.2.3.4 彩色显示信号线9.2.3.5 插入模块9.2.3.6 信号线标识(label)【例9.2.3.6-1】演示:信号线标识的传播9.2.4 对模型的注释9.2.5 常用的Sourse库信源【*例9.2.5-1】如何调用MATLAB工作空间中的信号矩阵作为模型输入。本例所需的输入为 。(1)编写一个产生信号矩阵的M函数文件function TU=source925_1(T0,N0,K)t=linspace(0,K*T0,K*N0+1);N=length(t);u1=t(1:(N0+1).2;u2=(t(N0+2):(2*N0+1)-2*T0

7、).2;u3(1:(N-(2*N0+2)+1)=0;u=u1,u2,u3;TU=t,u;(2)构造简单的接受信号用的实验模型(如图9.2.5-1的左图)图9.2.5-1 接受信号用的实验模型(3)模块的参数设置(4)在指令窗中,运行以下指令,在MATLAB工作空间中产生TU信号矩阵。TU=source925_1(1,100,4); (5)选中exm925_1模型窗菜单【Simulation:Start】,示波器呈现图9.2.5-1右图信号。9.2.6 常用的Sink库信宿9.2.6.1 库信宿一览表9.2.6.2 示波器9.2.7 仿真的配置9.2.7.1 解算器参数的设置(Solver)9.

8、2.7.2 仿真数据的输入输出设置(Workspace I/O)9.2.7.3 仿真中异常情况的诊断(Diagnostics)9.3 连续系统建模9.3.1 线性系统9.3.1.1 积分模块的功用【*例9.3.1.1-1】复位积分器的功用示例。图9.3.1.1-19.3.1.2 积分模块直接构造微分方程求解模型【*例9.3.1.2-1】假设从实际自然界(力学、电学、生态等)或社会中,抽象出有初始状态为0的二阶微分方程,是单位阶跃函数。本例演示如何用积分器直接构搭求解该微分方程的模型。(1)改写微分方程 (2)利用SIMULINK库中的标准模块构作模型图9.3.1.2-1-1 求解微分方程的SI

9、MULINK模型exm9312_1.mdl(3)仿真操作(4)保存在MATLAB工作空间中的数据clftt=ScopeData.time; %为书写简单,把构架域的时间数据另赋给ttxx=ScopeData.signals.values; %目的同上。xm,km=max(xx);plot(tt,xx,r,LineWidth,4),hold onplot(tt(km),xm,b.,MarkerSize,36),hold offstrmax=char(最大值,t = ,num2str(tt(km),x = ,num2str(xm);text(6.5,xm,strmax),xlabel(t),yla

10、bel(x) 图9.3.1.2-1-2 利用存放在MATLAB工作空间中的仿真数据所绘制的曲线9.3.1.3 传递函数模块【例9.3.1.3-1】直接利用传递函数模块求解方程(9.3.1.3-1)。(1)根据式(9.3.1.3-3)构造如图9.3.1.3-1所示的模型exm9313_1.mdl图9.3.1.3-1 由传递函数模块构成的仿真模型exm9313_1.mdl(2)仿真操作9.3.1.4 状态方程模块和单位脉冲输入的生成【*例9.3.1.4-1】假设式(9.3.1.4-1)中的输入函数是单位脉冲函数,研究该系统的位移变化。本例演示:(A)状态方程模块的使用;(B)脉冲函数的生成方法。(

11、1)单位脉冲函数的数学含义及近似实现(2)利用库模块构造如图9.3.1.4-1-1所示的仿真模型exm9314_1.mdl图9.3.1.4-1-1 带近似单位脉冲的状态方程模块构成的仿真模型exm9314_1.mdl(3)仿真结果图9.3.1.4-1-2 仿真结果9.3.2 非线性系统9.3.2.1 建立非线性仿真模型的基本考虑【*例9.3.2.1-1】物理背景:如图9.3.2.1-1-1所示喷射动力车的定位控制问题。图9.3.2.1-1-1 装置左右喷射发动机的车辆示意图(1)根据车辆的动态方程,构作基本仿真模型图9.3.2.1-1-2 基本仿真模型(2)为观察仿真时间进程,引入仿真时钟显示

12、。(3)为模仿“车辆速度与位移小于某阈值时被认为控制目标达到”,引入仿真终止环节。图9.3.2.1-1-3 完整仿真模型exm9321_1.mdl(4)为模仿“符号切换的非瞬时性”,本例采用“定步长”Solver解算器(5)为便于分析接近原点时的颤振现象,通过模型窗I/O设置保存仿真数据(6)仿真操作和仿真结果观察(7)保存数据的利用和分析subplot(1,2,1),plot(xout(:,2),xout(:,1)grid on,axis(-0.2,1,-1,0.2),axis squarexlabel(fontsize14位移),ylabel(fontsize14速度),subplot(1

13、,2,2),plot(xout(:,2),xout(:,1)grid on,axis(-0.1,0.05,-0.05,0.1),axis square 图9.3.2.1-1-4 完整相轨迹及局部放大图9.3.2.2 任意非线性函数模块及其应用【例9.3.2.2-1】轿车沿直线山坡路向前行驶。要求设计一个简单的比例放大器,使轿车能以指定的速度运动。本例演示:(A)仿真系统的创建。(B)非线性模块的使用。(C)任意函数模块的应用。(D)体现“自下而上”的建模方式。(E)本例将作为下面章节多个算例的基础,读者切莫跳略此题。(1)轿车的运动方程(2)轿车动力学的仿真模型图9.3.2.2-1-2 行驶轿

14、车动力学仿真模型(2)比例控制及其仿真模型图9.3.2.2-1-3 比例控制器仿真模型(3)构成完整的仿真模型图9.3.2.2-1-4 受控轿车的完整仿真模型(4)仿真操作和说明9.4 子系统的创建、装帧及受控执行9.4.1 简装子系统及其应用9.4.1.1 创建简装子系统的“先有内容后套包装”法【例9.4.1.1-1】题目的背景和参数与例9.3.2.2-1完全相同,要求创建利用比例控制器使轿车的运动速度稳定在期望车速的分层仿真模型。本例演示:如何从非分层模型获得分层模型;创建简装子系统的“先有内容后套包装”法。(1)将待“包装”模型另存为一个新模型(2)生成第一个简装子系统(3)生成第二个简

15、装子系统(4)更改子系统的标识名(5)重命名输入输出口的名称图9.4.1.1-1 采用简装子系统的完整仿真模型9.4.1.2 创建简装子系统的“先有包装后置内容”法【例9.4.1.2-1】本例演示:如何自上而下构造分层模型;产生简装子系统的“先有包装后置内容”法。(1)在新建模型窗中复制包括子系统模块在内的所有标准模块(见图9.4.1.2-1)图 9.4.1.2-1 带标准子系统模块的新建模型窗(2)在Subsystem标准模块中“装入”轿车动态模型(3)在Subsystem 1标准模块中“装入”比例控制器模型(4)对Untitled模型窗中滑键模块进行适当设置,进行各模块间的连接,就形成与图

16、9.4.1.1-1相同的完整仿真模型。(5)对完整仿真模型窗进行仿真参数设置,为进行仿真作最后准备9.4.2 精装子系统9.4.2.1 精装子系统的制作过程9.4.2.2 装帧示例【*例9.4.2.2-1】目标:把图9.4.1.1-1所示轿车速度控制模型中的轿车动态模型简装子系统变成精装子系统。(2)打开装帧编辑器图9.4.2.2-1-1 显示初始化页面的装帧编辑器(3)填写初始化页面中“块类别”(4)使用初始化页面中的“对话窗参数设置区”为未来对话框设计提示及设置变量(5)填写初始化页中“初始指令区”(6)利用Icon页为精装子系统模块制作图标图 9.4.2.2-1-2 装帧编辑器的图标制作

17、页(7)利用文档页为精装子系统模块编写模块性质描述和在线帮助说明图 9.4.2.2-1-3 装帧编辑器的文档制作页(8)点击装帧编辑器左下角的【OK】键,整个装帧便告成功。图9.4.2.2-1-4 制作完成的简装子系统9.4.2.3 精装子系统的使用特点【例9.4.2.3-1】本例演示:精装子系统参数对话窗的来源和外形特点;如何打开精装子系统自身的“下层”结构模型;精装子系统如何从外界获得参数。(1)精装子系统参数对话窗的来源和工作特点图9.4.2.3-1-1 精装子系统的参数设置对话窗(2)利用精装子系统所在窗口的【Look under Mask】菜单项,可打开精装子系统的结构模型窗。(3)

18、参数值的传递路径9.4.3 条件执行子系统9.4.3.1 使能子系统【*例9.4.3.1】利用使能原理构成一个半波整流器。本例演示使能子系统的创建及工作机理。(1)打开SIMULINK的新建模型窗口(2)从SIMULINK库中提取三个模块Sine wave、 Subsystem 、 Scope 到新建窗。然后进行文件保存操作,并起文件名为exm9431_1(这保存操作只为以后调用方便,并非必要)。(3)双击空子系统模块Subsystem ,打开其结构模型窗。(4)从SIMULINK库中拷贝In输入口模块、Out输出口模块、Enable使能模块到子系统的结构模型窗;把In 模块的输出直接送到Ou

19、t模块的输入端;Enable模块无须进行任何连接,且本例采用它的缺省设置;便实现了题目所需使能子系统(图9.4.3.1-1 b)。(5)按图9.4.3.1-1-1 a 那样,完成exm9431_1窗口中各模块间的连接。(6)双击示波器模块,打开显示窗。然后选择exm9431_1窗口菜单项【Simulation:Start】,就可看到如图9.4.3.1-1-2的半波整流后的波形。图9.4.3.1-1-1 利用使能子系统实现半波整流的仿真模型图9.4.3.1-1-2 所得仿真波形9.4.3.2 触发子系统【*例9.4.3.2-1】利用触发子系统获得零阶保持的采样信号。本例演示:触发子系统工作原理;

20、在MATLAB指令窗中运行SIMULINK模型。(1)构造如图9.4.3.2-1-1所示的仿真模型exm9432_1.mdl 图9.4.3.2-1-1 利用触发子系统实现零保持采样的仿真模型exm9432_1(2)在MATLAB指令窗中运行SIMULINK模型t,x,y=sim(exm9432_1,10);clf,hold onplot(t,y(:,1),b)stairs(t,y(:,2),r)stairs(t,y(:,3),c:),hold offaxis(0 10 -1.1 1.1),box onlegend(sinewave,output,trigger,4) 图 9.4.3.2-1-2

21、 exm9432_1.mdl模型仿真运行结果9.4.3.3 触发使能子系统9.4.3.4 使能子系统和出发子系统综合运用示例【*例9.4.3.4-1】本例是前面例9.3.2.2-1 , 9.4.1.1-1 , 9.4.2.2-1的继续,使得汽车速度受两种不同的控制器操纵。具体要求是:(A)当汽车实际速度与期望速度的误差绝对值,且时,将切换为PI比例-积分控制器;(B)一旦PI控制器被使用,只要仍满足,那么PI将继续起控制作用;(C)除以上情况外,则都使用简单的P比例控制器。(1)建立P Controller使能子系统和PI Controller使能子系统图 9.4.3.4-1-1 P和PI控制

22、器使能子系统的结构图(2)建立Model Selector子系统模块图 9.4.3.4-1-2 Model Selector子系统的结构图(3)为保存“控制器切换时间”创建触发子系统图 9.4.3.4-1-3 SaveSwitchTime触发子系统的结构图(4)建立完整的仿真模型图 9.4.3.4-1-4 轿车速度双模式控制系统的仿真模型(5)仿真结果图 9.4.3.4-1-5 两个仿真示波器上的曲线记录9.4.3.5 交替执行子系统【*例9.4.3.5-1】在例9.4.3.4-1中,比例控制器和比例-积分控制器的工作切换是借助Model Selector子系统产生的两个输出切换信号Choos

23、e PI和Choose P实现的。本例将演示:如何依靠一个Choose PI信号和merge汇合模块的配合使用,实现同样的控制器切换。(1)把exm9434_1.mdl另存为exm9435_1.mdl 。(2)把图9.4.3.4-1-4中虚线框所围的那部分改成图9.4.3.5-1所示那样。图9.4.3.5-1 等效于图9.4.3.4-1-5虚线框所围部分的模型9.5 离散时间系统和混合系统9.5.1 若干基本模块【*例9.5.1-1】用组合逻辑模块产生的“逻辑和”结果及“逻辑或”结果。(1)建立输入输出关系(见表9.5.1-2。真值表用黑框所围)(2)建立模型exm951_1.mdl(见图9.

24、5.1-1)图9.5.1-1 逻辑运算模块和组合逻辑模块运行对照模型9.5.2 多速率离散时间系统【*例9.5.2-1】在离散控制系统中,控制器的更新频率一般低于对象本身的工作频率。而显示系统的更新频率总比显示器的可读速度低得多。假设有某过程的离散状态方程式中是输入。该过程的采样周期为秒。控制器应用采样周期为秒的比例控制器;显示系统的更新周期为秒。(1) 建立模型exm952_1.mdl(见图9.5.2-1-1)图9.5.2-1-1 经着色的多速率离散系统(2)在exm952_1模型窗中,选取菜单项【Format:Sample time colors】后,模型中不同采样周期的模块和连线就会以不

25、同颜色表示。在本例中,采样速度最快的被控过程部分显示为红色;速度次之的控制器部分显示为绿色;显示x1历史记录的那部分显示为兰色。(3)仿真结果tt=TX.time;x1=TX.signals.values;plot(tt,x1),grid on,xlabel(kT),ylabel(x1(kT) 图9.5.2-1-1 的历史记录9.5.3 离散-连续混合系统【例9.5.3-1】本例是在例9.4.2.2-1的基础上进行的。目标是:设计一个离散PID控制器子系统对轿车速度进行控制。本例演示:(A)离散PID的构成;(B)展示仿真模型在研究控制器各参数影响上的能力。(1)打开例9.4.2.2-1中模型

26、exm9422_1.mdl ,选用菜单项【File:Save as】产生“另存”模型exm953_1.mdl 。它将用做以下改建的“原始”模型。(2)把exm953_1窗口中的P Controller改名为PID Controller。(参见图9.5.3-1-1)图9.5.3-1-1 采用离散PID的轿车速度控制系统(3)双击PID Controller子系统“原始”模块,打开该子系统的exm953_1/PID Controller结构模型窗。(4)把exm953_1/PID Controller模型窗中模型改建成图9.5.3-1所示。图9.5.3-1-2 exm953_1/PID Contr

27、oller子系统的结构模型(5)在exm953_1模型窗中,选取菜单项【Format:Sample time colors】,使该模型及其所有子系统模型按采样速率着色:连续时间部分用黑色;离散时间部分用红色;离散、连续混合的子系统被着黄色。(6)仿真实验图9.5.3-1-3 exm953_1/PID Controller子系统的结构模型9.6 SIMULINK的分析工具9.6.1 确定模型的特征【例9.6.1-1】观察例9.5.3-1中所建模型exm953_1.mdl中状态向量的结构。 在指令窗或Notebook中运行以下指令。sizes,x0,StateCell=exm953_1;SIZES

28、=sizes,X0=x0,StateCell SIZES = 2 2 0 0 0 0 3X0 = 0 0 0 0StateCell = exm953_1/Automobile Model/Int1 exm953_1/Automobile Model/Int2 exm953_1/PID Controller/DD exm953_1/PID Controller/DT-I 9.6.2 用MATLAB指令运行SIMULINK模型9.6.2.1 运行SIMULINK模型的sim指令9.6.2.2 设置编辑仿真参数的simset 指令9.6.2.3 获取模型仿真参数的simget指令 9.6.2.4 M

29、ATLAB指令运行SIMULINK模型的示例【*例9.6.2.4-1】以例9.5.3-1中所建模型exm953_1.mdl为基础进行本题解算。演示:(A)显示模型窗中的初始状态设置。(B)把初始车速重置为120 ,而其他初始值仍为0 。(B)画出两种初始状态下的车速曲线。InInit=simget(exm953_1,InitialState) %获取模型窗对初始值的设置t,x,y=sim(exm953_1,100); %在模型内设置参数下进行仿真opts=simset(InitialState,120,0,0,0); %初始值的重置tt,xx,yy=sim(exm953_1,100,opts)

30、; %在重置初值下仿真plot(t,x(:,1),:b,tt,xx(:,1),r)legend(fontname隶书fontsize16内初值,外初值,4) InInit = 图9.6.2.4-1 两种初值下的仿真曲线9.6.3 模型的线性化问题9.6.3.1 线性化的数学描述9.6.3.2 连续系统的线性化模型9.6.3.3 离散系统的线性化模型9.6.3.4 模型线性化的算例【*例9.6.3.4-1】求非线性系统在坐标原点处的线性化模型。(1)根据式(9.6.3.1-2)的可“手工”求得。(2)创建图9.6.3.4-1所示的SIMULINK模型exm9634_1.mdl 。图9.6.3.4-1 SIMULINK模型exm9634_1.mdl(3)用指令求坐标原点处的线性化模型(结果与手工计算一致)A,B,C,D=linmod(exm9634_1);A A = 0.0

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1