您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > matlab教程详解(7)
1第八章SIMULINK交互式仿真集成环境8.1引导SIMULINK是一个进行动态系统建模、仿真和综合分析的集成软件包。它可以处理的系统包括:线性、非线性系统;离散、连续及混合系统;单任务、多任务离散事件系统。在SIMULINK提供的图形用户界面GUI上,只要进行鼠标的简单拖拉操作就可构造出复杂的仿真模型。它外表以方块图形式呈现,且采用分层结构。从建模角度讲,这既适于自上而下(Top-down)的设计流程(概念、功能、系统、子系统、直至器件),又适于自下而上(Bottum-up)逆程设计。从分析研究角度讲,这种SIMULINK模型不仅能让用户知道具体环节的动态细节,而且能让用户清晰地了解各器件、各子系统、各系统间的信息交换,掌握各部分之间的交互影响。在SIMULINK环境中,用户将摆脱理论演绎时需做理想化假设的无奈,观察到现实世界中摩擦、风阻、齿隙、饱和、死区等非线性因素和各种随机因素对系统行为的影响。在SIMULINK环境中,用户可以在仿真进程中改变感兴趣的参数,实时地观察系统行为的变化。由于SIMULINK环境使用户摆脱了深奥数学推演的压力和烦琐编程的困扰,因此用户在此环境中会产生浓厚的探索兴趣,引发活跃的思维,感悟出新的真谛。在MATLAB6.x版中,可直接在SIMULINK环境中运作的工具包很多,已覆盖通信、控制、信号处理、DSP、电力系统等诸多领域,所涉内容专业性极强。本书无意论述涉及工具包的专业内容,而只是集中阐述:SIMULINK的基本使用技法和相关的数值考虑。节8.1虽是专为SIMULINK初学者写的,但即便是熟悉SIMULINK以前版本的读者也值得快速浏览这部分内容,因为新版的界面、菜单、工具条、模块库都有较大的变化。第8.2节比较详细地阐述建模的基本操作:通用模块的具体化设置、信号线勾画、标识、模型窗参数设置。这部分内容是进一步深入的前提。从第8.3节起,由浅入深地讲述SIMULINK对各种数学、工程问题的建模、仿真和分析的基本方法。本章采用“算例”作为主体,配以适量的归纳性表述。本章包含了34个“尽量简单”又“独立完整”的“典型”算例,而这正是SIMULINK在线PDF文件之所缺。读者通过“手、眼、脑”并用地练习算例,掌握SIMULINK的一般使用规则和操作技法。鉴于SIMULINK的本质,本节算例必定涉及数学、物理、和若干工程考虑。本书已采取“无量纲记述”、“注释”等措施使算例尽可能易读易懂,读者只要稍微耐心,就可以从这些有背景的内容体验到SIMULINK仿真之细腻和切实,从这些带背景性的算例品出SIMULINK的精妙之处。本章内容已在MATLAB6.5基础上进行全面更新,变动最大的是第8.4.3节。此外,为适应读者应用水平的提高,新增了第8.8节,论述S函数模块的创建和使用。28.1.1SIMULINK的安装图8.1.1-18.1.2SIMULINK入门图8.1.2-13图8.1.2-2图8.1.2-3图8.1.2-4模型创建中的模型窗一图8.1.2-54图8.1.2-6图8.1.2-78.1.3SIMULINK库浏览器界面图8.1.3-18.1.4SIMULINK模型窗的组成5图8.1.4-18.2模型的创建8.2.1模型概念和文件操作8.2.1.1SIMULINK模型是什么8.2.1.2模型文件的操作图8.2.1.2-18.2.2模块操作8.2.2.1模块的基本操作(1)模块的选定图8.2.2.1-1选定单个模块的操作方法:选定多个模块的操作方法:6图8.2.2.1-2(2)模块的复制(3)模块的移动(4)模块的删除(5)改变模块大小(a)原尺寸(b)拖动边框(c)新尺寸图8.2.2.1-3(6)模块的旋转(a)缺省状态(b)旋转1800(c)旋转900图8.2.2.1-4(7)模块名的操作(8)模块的阴影效果8.2.2.2向量化模块和标量扩展(1)向量化模块(2)标量扩展【例8.2.2.2-1】演示“示波”模块的向量显示能力。7图8.2.2.2-1-1【例8.2.2.2-2】演示“求和”模块的向量处理能力:输入扩展。图8.2.2.2-2-1【例8.2.2.2-3】演示“增益”模块的向量处理能力:参数扩展。图8.2.2.2-3-18.2.2.3参数设置8.2.3信号线操作8.2.3.1产生连线(1)水平或垂直连线的产生(2)斜连线的产生(3)连线的移动和删除8.2.3.2信号线的分支和折曲(1)分支的产生(2)信号线的折曲(3)折点的移动8.2.3.3信号线宽度显示88.2.3.4彩色显示信号线8.2.3.5插入模块图8.2.3.5-18.2.3.6信号线标识(label)【例8.2.3.6-1】演示:信号线标识的传播8.2.4对模型的注释(1)模型注释的创建(2)注释位置的移动(3)注释文字的字体控制8.2.5常用的Sourse库信源【例8.2.5-1】如何调用MATLAB工作空间中的信号矩阵作为模型输入。本例所需的输入为elseTtTTttTttu200)2()(22。(1)[sourec0825_1.m]functionTU=source0825_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).^2;u3(1:(N-(2*N0+2)+1))=0;u=[u1,u2,u3];TU=[t',u'];(2)9图8.2.5-1(3)(4)TU=source0825_1(1,100,4);(5)8.2.6常用的Sink库信宿8.2.6.1库信宿一览表8.2.6.2示波器(1)示波器的用途(2)示波器窗的工具条(3)示波器纵坐标范围的手工设置(4)示波器横坐标的设置(5)把示波器数据送入MATLAB工作空间(6)多信号显示区设置(7)设置为游离示波器8.2.7仿真的配置8.2.7.1解算器参数的设置(Solver)图8.2.7.1-1108.2.7.2仿真数据的输入输出设置(WorkspaceI/O)图8.2.7.2-18.2.7.3仿真中异常情况的诊断(Diagnostics)图8.2.7.3-18.3连续系统建模8.3.1线性系统8.3.1.1积分模块的功用【例8.3.1.1-1】复位积分器的功用示例。图8.3.1.1-1118.3.1.2积分模块直接构造微分方程求解模型【例8.3.1.2-1】假设从实际自然界(力学、电学、生态等)或社会中,抽象出有初始状态为0的二阶微分方程)(2.04.02.0tuxxx,)(tu是单位阶跃函数。本例演示如何用积分器直接构搭求解该微分方程的模型。(1)(2)图8.3.1.2-1-1(3)仿真操作(4)保存在MATLAB工作空间中的数据clftt=ScopeData.time;xx=ScopeData.signals.values;[xm,km]=max(xx);plot(tt,xx,'r','LineWidth',4),holdonplot(tt(km),xm,'b.','MarkerSize',36),holdoffstrmax=char('最大值',['t=',num2str(tt(km))],['x=',num2str(xm)]);text(6.5,xm,strmax),xlabel('t'),ylabel('x')0246810121416182000.10.20.30.40.50.60.70.80.9最最最t=4.9567x=0.80201tx图8.3.1.2-1-28.3.1.3传递函数模块【例8.3.1.3-1】直接利用传递函数模块求解方程(8.3.1.3-1)。(1)图8.3.1.3-112(2)8.3.1.4状态方程模块和单位脉冲输入的生成【例8.3.1.4-1】假设式(8.3.1.4-1)中的输入函数u是单位脉冲函数)(t,研究该系统的位移变化。本例演示:(A)状态方程模块的使用;(B)脉冲函数的生成方法。(1)(2)图8.3.1.4-1-1(3)图8.3.1.4-1-28.3.2非线性系统8.3.2.1建立非线性仿真模型的基本考虑【例8.3.2.1-1】物理背景:如图8.3.2.1-1-1所示喷射动力车的定位控制问题。图8.3.2.1-1-1(1)图8.3.2.1-1-2(2)13(3)图8.3.2.1-1-3(4)(5)(6)subplot(1,2,1),plot(xout(:,2),xout(:,1))gridon,axis([-0.2,1,-1,0.2]),axissquarexlabel('\fontsize{14}位移'),ylabel('\fontsize{14}速度'),subplot(1,2,2),plot(xout(:,2),xout(:,1))gridon,axis([-0.1,0.05,-0.05,0.1]),axissquare-0.200.20.40.60.8-1-0.8-0.6-0.4-0.200.2最最最最-0.1-0.0500.05-0.0500.050.1图8.3.2.1-1-48.3.2.2任意非线性函数模块及其应用【例8.3.2.2-1】轿车沿直线山坡路向前行驶。要求设计一个简单的比例放大器,使轿车能以指定的速度运动。本例演示:(A)仿真系统的创建。(B)非线性模块的使用。(C)任意函数模块的应用。(D)体现“自下而上”的建模方式。(E)本例将作为下面章节多个算例的基础,读者切莫跳略此题。(1)14图8.3.2.2-1-1(2)图8.3.2.2-1-2(2)图8.3.2.2-1-3(3)图8.3.2.2-1-4(4)158.4子系统的创建、装帧及受控执行8.4.1简装子系统及其应用8.4.1.1创建简装子系统的“先有内容后套包装”法【例8.4.1.1-1】题目的背景和参数与例8.3.2.2-1完全相同,要求创建利用比例控制器使轿车的运动速度稳定在期望车速的分层仿真模型。本例演示:如何从非分层模型获得分层模型;创建简装子系统的“先有内容后套包装”法。(1)(2)(3)(4)(5)图8.4.1.1-18.4.1.2创建简装子系统的“先有包装后置内容”法【例8.4.1.2-1】本例演示:如何自上而下构造分层模型;产生简装子系统的“先有包装后置内容”法。(1)图8.4.1.2-1(2)(3)(4)(5)8.4.2精装子系统168.4.2.1精装子系统的制作过程8.4.2.2装帧示例【例8.4.2.2-1】目标:把图8.4.1.1-1所示轿车速度控制模型中的轿车动态模型简装子系统变成精装子系统。(1)(2)图8.4.2.2-1-1(3)(4)(5)(6)17图8.4.2.2-1-2(7)图8.4.2.2-1-3(8)图8.4.2.2-1-48.4.2.3精装子系统的使用特点【例8.4.2.3-1】本例演示:精装子系统参数对话窗的来源和外形特点;如何打开精装子系统自身的“下层”结构模型;精装子系统如何从外界获得参数。(1)18图8.4.2.3-1-1(2)(3)8.4.3条件执行子系统8.4.3.1使能子系统【例8.4.3.1-1】利用使能原理构成一个半波整流器。本例演示使能子系统的创建及工作机理。(1)(2)(3)(4)图8.4.3.1-1-1图8.4.3.1-1-219【例8.4.3.1-2】本例演示:在使能子系统中插入滤波模块8.058.0)(ssG。图8.4.3.1-2-1(1)(2)(3)(4)图8.4.3.1-2-28.4.3.2触发子系统【例8.4.3.2-1】利用触发子系统获得零阶保持的采样信号。本例演示:触发子系统工作原理。图8.4.3.2-1-1(1)(2)[t,x,y]=sim('exm080432_1',10);clf,holdonplot(t,y(:,1),'b')stairs(t,y(:,2),'r')stairs(t,y(:,3),'c:'),holdoffaxis([010-1.11.1
本文标题:matlab教程详解(7)
链接地址:https://www.777doc.com/doc-2887534 .html