理论课-第1讲-1.9-matlab工具箱_simulink分析课件.ppt
《理论课-第1讲-1.9-matlab工具箱_simulink分析课件.ppt》由会员分享,可在线阅读,更多相关《理论课-第1讲-1.9-matlab工具箱_simulink分析课件.ppt(84页珍藏版)》请在三一办公上搜索。
1、2023年3月28日,1,1.9 MATLAB的SIMULINK仿真,1.9.1 Simulink入门1.9.2 模型的创建和模型文件1.9.3 仿真运行1.9.4 系统建模1.9.5 子系统的创建及封装1.9.6 常用工具箱简介,2023年3月28日,2,Simulink是一个用来对动态系统进行建模、仿真和分析的软件包,是MATLAB的重要组成部分。Simulink可以用来建模、分析和仿真各种动态系统(包括连续系统、离散系统和混合系统),它提供了一种图形化的交互环境,只需用鼠标拖动的方法便能迅速地建立起系统框图模型,甚至不需要编写一行代码。Simulink提供建立系统模型、选择仿真参数和数值
2、算法、启动仿真程序对该系统进行仿真、设置不同的输出方式来观察仿真结果等功能。,2023年3月28日,3,1.交互式、图形化的建模环境Simulink提供了丰富的模块库以帮助用户快速地建立动态系统模型。建模时只需使用鼠标拖放不同模块库中的系统模型并将它们连接起来。它外表以方块图形式呈现,且采用分层结构。2.交互式的仿真环境Simulink框图提供了交互式很强的仿真环境,既可以通过下拉菜单执行,也可以通过命令行进行仿真。3.专用模块库(Blocksets)MathWorks公司开发了一系列的专用功能块程序包,通过这些可迅速地对系统实现建模、仿真和分析。,2023年3月28日,4,Simulink部
3、分软件工具包,2023年3月28日,5,4.提供了仿真库的扩充和定制机制Simulink的开发式结构允许用户扩展仿真环境的功能:采用MATLAB、FORTRAN和C代码生成自定义的模块库,并拥有自己的图标和界面。5.与MATLAB工具箱的集成Simulink可以直接利用MATLAB的诸多资源与功能,用户可以直接在Simulink下完成诸如数据分析、过程自动化、优化参数等工作。工具箱提供的高级设计和分析能力可以融入仿真过程。,2023年3月28日,6,Simulink具有以下特点:基于矩阵的数值计算;高级编程语言;图形与可视化;工具箱提供面向具体应用领域的功能;丰富的数据I/O工具;提供与其它高
4、级语言的接口;支持多平台(PC/Macintosh/UNIX);开放与可扩展的体系结构。,2023年3月28日,7,Simulink具有强大的功能与友好的用户界面,具有广泛的应用领域。如:,Simulink的应用领域示意图,2023年3月28日,8,1.9.1 快速入门,SIMULINK可以处理的系统包括:线性、非线性系统;离散、连续及混合系统;单任务、多任务离散事件系统。,从建模角度讲,这既适于自上而下(Top-down)的设计流程(概念、功能、系统、子系统、直至器件),又适于自下而上(Bottum-up)逆程设计。,从分析研究角度讲,这种 SIMULINK 模型不仅能让用户知道具体环节的动
5、态细节,而且能让用户清晰地了解各器件、各子系统、各系统间的信息交换,掌握各部分之间的交互影响。,2023年3月28日,9,在 SIMULINK 环境中,用户将观察到现实世界中非线性因素和各种随机因素对系统行为的影响。,在 SIMULINK 环境中,用户可以在仿真进程中改变感兴趣的参数,实时地观察系统行为的变化。,在MATLAB中,可直接在 SIMULINK 环境中运作的工具包很多,已覆盖通信、控制、信号处理、DSP、电力系统等诸多领域,所涉内容专业性极强。,本讲由浅入深地讲述 SIMULINK 对各种数学、工程问题的建模、仿真和分析的基本方法,采用“算例”作为主体,配以适量的归纳性表述。,例1
6、.9.1.1:信号发生器和示波器。,例1.9.1.2:实现两个正弦信号的相乘。,2023年3月28日,10,1.9.2 模型的创建和模型文件,1.9.21 SIMULINK 模型是什么?,SIMULINK 模型有以下几层含义:,在视觉上表现为直观的方框图;,在文件上则是扩展名为 mdl 的ASCII代码;,在数学上表现为一组微分方程或差分方程;,在行为上则模拟了实际系统的动态特性。,SIMULINK 模型通常包含三种“组件”:,信源(Sources):可以是常数、时钟、白噪声、正弦波、阶梯波、扫频信号、脉冲生成器、随机数产生器等信号源;,系统(System):即指被研究系统的 SIMULINK
7、 方框图;,信宿(Sink):可以是示波器、图形记录仪等。,对于具体的 SIMULINK 模型而,不一定完全地包含这三大组件。例如:研究初始条件对系统影响就不必包含信源组件。,2023年3月28日,11,1.9.2 模型的创建和模型文件(续1),1.9.22 SIMULINK 模型的创建,创建模型文件,模型块的操作,连线的操作,仿真的配置,对模型的注释;,保存模型;,仿真和结果分析。,1.9.23 SIMULINK 模型文件,2023年3月28日,12,(1)新建模型:利用模型窗口中的图标选中Matlab指令窗口的菜单,(2)打开模型:利用模型窗口中的图标选用某模型窗口中的菜单在指令窗口中由o
8、pen指令实现open模型名,(3)存盘:Simlink是以ASCII码形式存储的.mdl文件,(4)打印:先点击模型窗口中的图标,打开一个打印对话框,但它比Windows多一个选项框,2023年3月28日,13,返回,2023年3月28日,14,(1)选定模块:单个模块矩形里的所有模块及其信号线,2023年3月28日,15,(2)模块的复制(3)模块的移动(4)模块的删除(5)改变模块的大小,2023年3月28日,16,(6)模块的旋转,(7)模块名的操作也可修改模块名的字体:用Format:Font,返回,2023年3月28日,17,连线的操作,产生连线水平或垂直连线斜连线连线的删除信号线
9、的分支和折曲分支的产生信号线的折曲折点的移动,返回,2023年3月28日,18,(1)解参数的设置(Solver),2023年3月28日,19,(2)仿真数据的输入输出设置(Workspace I/O),2023年3月28日,20,(3)仿真中异常情况的诊断(Diagnostics),返回,2023年3月28日,21,1.9.2 模型的创建和模型文件(续2),1.9.23 SIMULINK 模型文件,SIMULINK 除了可以通过图形界面设计模块外,也可以通过直接编写 mdl 文件来设计仿真模型图。,一个有输入和输出的图形界面设计模块。,用 mdl 文件编写有输入和输出的增益器。(在 Word
10、下),Gain,In,Out,1,1,1,2023年3月28日,22,1.9.2 模型的创建和模型文件(续2),1.9.24 常用的Source库信源,例:如何调用MATLAB工作空间中的信号矩阵作为模型输入。本例所需的输入为,。,2023年3月28日,23,(1)编写一个产生信号矩阵的M文件sourec 0825_1.mfunction TU=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;
11、u=u1,u2,u3;TU=t,u;,2023年3月28日,24,(2)构造简单的接收用的信号模型,2023年3月28日,25,(3)模块参数的设置双击模块source08251,弹出“From Workspace”设置对话框,在Data栏中填写TU,(4)在MATLAB工作空间产生信号矩阵TUsource0825_1(1,100,4),(5)开始仿真,2023年3月28日,26,1.9.3 仿真运行,1.9.31 使用菜单进行仿真,设置仿真参数和选择求解器,通过选择菜单 Simulation 下的 Parameters 菜单项,用来设置仿真参数和选择求解器。其中有三个页面管理这些仿真参数。,
12、在 Solver 页面,设置开始和停止时间,选择求解器和指定求解器(solver)的参数,另外还可以选择一些输出选项。,在 Workspace I/O 页面,管理对 MATLAB 工作空间的输入和输出。,在 Diagnostics 页面,可以选择在仿真期间显示的警告信息的层次。,在 Solver options 中,SIMULINK 模型的仿真涉及到一组常微分方程(ODEs)的数值积分。如果模型是连续系统,使用ode45方法;如果模型不是连续系统,使用discrete方法。,例1.9.1.2:实现两个正弦信号的相乘。,2023年3月28日,27,从命令窗口运行仿真的函数有4个,即sim、sim
13、set、simget和set_param。1.sim函数 sim函数的作用是运行一个由Simulink建立的模型,其调用格式为:t,x,y=sim(modname,timespan,options,data),1.9.3 仿真运行(续1),1.9.32 通过命令行运行仿真,通过命令行运行仿真与通过菜单运行仿真相比,有如下的 一些优点:,可以不理睬模块中的初始条件(参数 x0);,可以定义任何外部输入(用参数 ut);,可以由一个M 文件来启动一个仿真,并且允许模块中的参数发生改变。,2023年3月28日,28,2.simset函数 simset 函数用来为sim函数建立或编辑仿真参数或规定算法
14、,并把设置结果保存在一个结构变量中。它有如下4种用法:(1)options=simset(property,value,):把property代表的参数赋值为value,结果保存在结构options中。(2)options=simset(old_opstruct,property,value,):把已有的结构old_opstruct(由simset产生)中的参数property重新赋值为value,结果保存在新结构options中。(3)options=simset(old_opstruct,new_opstruct):用结构new_opstruct的值替代已经存在的结构old_opstruc
15、t的值。(4)simset:显示所有的参数名和它们可能的值。,2023年3月28日,29,3.simget函数 simget函数用来获得模型的参数设置值。如果参数值是用一个变量名定义的,simget返回的也是该变量的值而不是变量名。如果该变量在工作空间中不存在(即变量未被赋值),则Simulink给出一个出错信息。该函数有如下3种用法:(1)struct=simget(modname):返回指定模型model的参数设置的options结构。(2)value=simget(modname,property):返回指定模型model的参数property的值。(3)value=simget(opt
16、ions,property):获取options结构中的参数property的值。如果在该结构中未指定该参数,则返回一个空阵。用户只需输入能够唯一识别它的那个参数名称的前几个字符即可,对参数名称中字母的大小写不作区别。,2023年3月28日,30,4.set_param函数set_param函数的功能很多,这里只介绍如何用set_param函数设置Simulink仿真参数以及如何开始、暂停、终止仿真进程或者更新显示一个仿真模型。(1)设置仿真参数调用格式为:set_param(modname,property,value,)其中modname为设置的模型名,property为要设置的参数,va
17、lue是设置值。这里设置的参数可以有很多种,而且和用simset设置的内容不尽相同,相关参数的设置可以参考有关资料。,2023年3月28日,31,(2)控制仿真进程调用格式为:set_param(modname,SimulationCommand,cmd)其中mode为仿真模型名称,而cmd是控制仿真进程的各个命令,包括start、stop、pause、comtinue或update。在使用这两个函数的时候,需要注意必须先把模型打开。,2023年3月28日,32,1.9.4 系统建模 1.9.41 连续系统建模,线性系统建模举例,例10_4_1:复位积分器的功用示例。,例10_4_2:积分模块
18、直接构造微分方程求解模型。,例10_4_3:直接利用传递函数模块求解方程。,在仿真启动时,积分器从零开始对 0.5 t 进行积分。当复位口信号 t-5=0 瞬间,积分器被重置为零。此后,再对0.5(t-5)进行积分。,假设从实际自然界(力学、电学、生态等)或社会中,抽象出有初始状态为0的二阶微分程,是单位阶跃函数。本例演示如何用积分器直接构搭求解该微分方程的模型。,对二阶微分程进行拉氏变换:,可以得到:,2023年3月28日,33,1.9.41 连续系统建模(续),非线性系统建模举例,例10_4_4:喷射动力车的定位控制问题设计一个控制器,其目标是:当车辆的位移和速度为正时,控制器点燃右发动机
19、;当车辆的位移和速度为负时,控制器点燃左发动机,直到车辆静止在坐标原点。,2023年3月28日,34,1.9.42 离散时间系统和混合系统建模,用组合逻辑模块产生 的“逻辑和”结果 及“逻辑或”结果。(1)建立输入输出关系。(2)建立模型,2023年3月28日,35,1.9.42 离散时间系统和混合系统建模(续),多速率离散时间系统:计算机就是这样的系统。它的CPU、串行/并行控制器、磁盘驱动器、输入 键盘就采用不同的工作速率。再如通信系统也是多速率系统。,离散-连续混合系统:在现代控制系统中,通常被控的对象是连续时间的(物理)子系统,而控制器是由逻辑控制器或计算机构成的离散子系统。对于这种离
20、散-连续混合系统,模型参数设置页中的几乎所有 Solver 解算方法都能采用。,可以使该模型及其所有子系统按采样速率着色:连续时间部分用黑色;离散时间部分用红色;离散、连续混合的子系统被着黄色。,2023年3月28日,36,1.9.5 子系统的创建、封装及受控执行,利用 SIMULINK 的封装(Mask)功能,可以定做一个模块或一个子系统的对话框和图标。,引用子系统的理由是:研究分析系统时,进行概念抽象(Abstraction of concepts)的需要;为提高工作效率和可靠性,实施模块“重用(Reuse)”的需要。,仿真建模中子系统的作用,类 似于 MATLAB 指令运行中的M函数文件
21、。,前面介绍了如何利用库标准模块建立被研究系统的仿真模型。下面着重介绍如何利用“分层”思想建立比较复杂的仿真模型,介绍建立这种分层模型所需的各种子系统(Subsystem)。,封装的一个重要用途是帮助用户创建一个对话框来接受参数。这样就无需打开子系统中各个模块的对话框,然后再逐个输入参数。,2023年3月28日,37,1.9.51 用封装的办法创建模块,1。封装模块功能,例10_5_1:封装线性方程 y=mx+b 的模型。,子系统mx+b 包含了一个Gain模块,命名为Slope,其增益常数为m;一个Constant模块,命名为Intercept,其常数值参数指定为b。这些参数代表一条直线的斜
22、率和截距。,封装该子系统产生一个用户对话框和图标。对话框包含对斜率和截距的提示。,用户向封装对话框输入 Slope和 Intercept 的值。封装将这些封装参数映射给底层模块。,在 SIMULINK 中产生线性方程 y=mx+b 的模型,并生成 mx+b 子系统。,2023年3月28日,38,1.9.51 用封装的办法创建模块(续),2.产生封装提示对话框,要产生这个系统的封装,先选取子系统模块,然后从 Edit 菜单中选取 Mask Subsystem 命令。,封装提示对话框开始时大都显示 Mask Editor 对话框的Initialization 选项卡。,把 Slope 和 Inte
23、rcept 定义为 Edit 控件。,3.产生封装模块描述和帮助文本,在 Documentation 选项卡中可以定义模块的封装类型、模块描述和帮助文本。,4.产生模块的图标,可以在 Mask Editor 对话框的 Icon 选项卡中定义图标。,2023年3月28日,39,1.9.6 常用工具箱简介,具有16种功能强大的应用工具箱。,我们常用工具箱有 SIMULINK、COMM、DSP 等。,2023年3月28日,40,MATLAB 中的 16 种工具箱,返回1,Simulink 库,Communications Blockset(通信模块集),Control System Toolbox(
24、控制系统工具箱),Dials&Gauges Blockset(面板和仪表模块集),DSP Blockset(数字信号处理模块集),Fixed-Point Blockset(定点模块集),Fuzzy Logic Toolbox(模糊逻辑工具箱),NCD Blockset(非线性控制设计模块集),Neural Network Blockset(神经网络模块集),MPC Blockset(MPC 模块集),Power System Blockset(电源系统模块集),Real-Time Windows Target(实时窗口目标库),Real-Time Workshop(实时工作空间库),State
25、flow(状态流程库),Simulink Extras(Simulink附加库),System ID Blockset(系统辨识模块集),返回2,2023年3月28日,41,例1.9.1.1:信号发生器和示波器。,通过这个例子,对于系统仿真工具箱的使用有一个比较具体的认识。,首先从源模块库内拖出三个信号发生器模块。,然后对它们分别进行设置:一个为噪声源,另外两个为正弦波,频率分别为0.2Hz和0.6Hz。,接着从 SimulinkMath 模块库内拖出一个加法器,将它的输入端设置为三个。,最后从输出模块库内拖出一个示波器。将上述五个模块连接在一起。,进行系统仿真。,2023年3月28日,42,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 理论 1.9 matlab 工具箱 _simulink 分析 课件
链接地址:https://www.31ppt.com/p-3956131.html