您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > 理论课第1讲-19matlab工具箱_simulink
2019年12月21日11.9MATLAB的SIMULINK仿真1.9.1Simulink入门1.9.2模型的创建和模型文件1.9.3仿真运行1.9.4系统建模1.9.5子系统的创建及封装1.9.6常用工具箱简介2019年12月21日2Simulink是一个用来对动态系统进行建模、仿真和分析的软件包,是MATLAB的重要组成部分。Simulink可以用来建模、分析和仿真各种动态系统(包括连续系统、离散系统和混合系统),它提供了一种图形化的交互环境,只需用鼠标拖动的方法便能迅速地建立起系统框图模型,甚至不需要编写一行代码。Simulink提供建立系统模型、选择仿真参数和数值算法、启动仿真程序对该系统进行仿真、设置不同的输出方式来观察仿真结果等功能。2019年12月21日31.交互式、图形化的建模环境Simulink提供了丰富的模块库以帮助用户快速地建立动态系统模型。建模时只需使用鼠标拖放不同模块库中的系统模型并将它们连接起来。它外表以方块图形式呈现,且采用分层结构。2.交互式的仿真环境Simulink框图提供了交互式很强的仿真环境,既可以通过下拉菜单执行,也可以通过命令行进行仿真。3.专用模块库(Blocksets)MathWorks公司开发了一系列的专用功能块程序包,通过这些可迅速地对系统实现建模、仿真和分析。2019年12月21日4DSPBlockset数字信号处理工具包Fixed-PointBlockset定点运算控制系统仿真工具包PowerSystemBlockset电力电动系统工具包Dials&GaugesBlockset交互图形和控制面板设计工具包CommunicationBlockset通信系统工具包CDMAReferenceBlocksetCDMA通信系统设计和分析工具包NonlinearControlDesignBlockset非线性控制设计工具包MotorolaDSPDeveloper’sKitMotorolaDSP开发工具包TIDSPDeveloper’sKitTIDSP开发工具箱Simulink部分软件工具包2019年12月21日54.提供了仿真库的扩充和定制机制Simulink的开发式结构允许用户扩展仿真环境的功能:采用MATLAB、FORTRAN和C代码生成自定义的模块库,并拥有自己的图标和界面。5.与MATLAB工具箱的集成Simulink可以直接利用MATLAB的诸多资源与功能,用户可以直接在Simulink下完成诸如数据分析、过程自动化、优化参数等工作。工具箱提供的高级设计和分析能力可以融入仿真过程。2019年12月21日6Simulink具有以下特点:•基于矩阵的数值计算;•高级编程语言;•图形与可视化;•工具箱提供面向具体应用领域的功能;•丰富的数据I/O工具;•提供与其它高级语言的接口;•支持多平台(PC/Macintosh/UNIX);•开放与可扩展的体系结构。2019年12月21日7Simulink具有强大的功能与友好的用户界面,具有广泛的应用领域。如:Simulink的应用领域示意图2019年12月21日81.9.1快速入门SIMULINK可以处理的系统包括:线性、非线性系统;离散、连续及混合系统;单任务、多任务离散事件系统。•从建模角度讲,这既适于自上而下(Top-down)的设计流程(概念、功能、系统、子系统、直至器件),又适于自下而上(Bottum-up)逆程设计。•从分析研究角度讲,这种SIMULINK模型不仅能让用户知道具体环节的动态细节,而且能让用户清晰地了解各器件、各子系统、各系统间的信息交换,掌握各部分之间的交互影响。2019年12月21日9在SIMULINK环境中,用户将观察到现实世界中非线性因素和各种随机因素对系统行为的影响。在SIMULINK环境中,用户可以在仿真进程中改变感兴趣的参数,实时地观察系统行为的变化。在MATLAB中,可直接在SIMULINK环境中运作的工具包很多,已覆盖通信、控制、信号处理、DSP、电力系统等诸多领域,所涉内容专业性极强。本讲由浅入深地讲述SIMULINK对各种数学、工程问题的建模、仿真和分析的基本方法,采用“算例”作为主体,配以适量的归纳性表述。例1.9.1.1:信号发生器和示波器。例1.9.1.2:实现两个正弦信号的相乘。2019年12月21日101.9.2模型的创建和模型文件1.9.2.1SIMULINK模型是什么?SIMULINK模型有以下几层含义:•在视觉上表现为直观的方框图;•在文件上则是扩展名为mdl的ASCII代码;•在数学上表现为一组微分方程或差分方程;•在行为上则模拟了实际系统的动态特性。SIMULINK模型通常包含三种“组件”:•信源(Sources):可以是常数、时钟、白噪声、正弦波、阶梯波、扫频信号、脉冲生成器、随机数产生器等信号源;•系统(System):即指被研究系统的SIMULINK方框图;•信宿(Sink):可以是示波器、图形记录仪等。对于具体的SIMULINK模型而,不一定完全地包含这三大组件。例如:研究初始条件对系统影响就不必包含信源组件。2019年12月21日111.9.2模型的创建和模型文件(续1)1.9.2.2SIMULINK模型的创建创建模型文件模型块的操作连线的操作仿真的配置对模型的注释;保存模型;仿真和结果分析。1.9.2.3SIMULINK模型文件2019年12月21日12(1)新建模型:利用模型窗口中的图标选中Matlab指令窗口的菜单(2)打开模型:利用模型窗口中的图标选用某模型窗口中的菜单在指令窗口中由open指令实现open模型名(3)存盘:Simlink是以ASCII码形式存储的.mdl文件(4)打印:先点击模型窗口中的图标,打开一个打印对话框,但它比Windows多一个选项框2019年12月21日13返回2019年12月21日14(1)选定模块:单个模块矩形里的所有模块及其信号线2019年12月21日15(2)模块的复制(3)模块的移动(4)模块的删除(5)改变模块的大小(a)原尺寸(b)拖动边框(c)新尺寸2019年12月21日16(6)模块的旋转(a)缺省状态(b)旋转1800(c)旋转900(7)模块名的操作也可修改模块名的字体:用Format:Font返回2019年12月21日17连线的操作产生连线水平或垂直连线斜连线连线的删除信号线的分支和折曲分支的产生信号线的折曲折点的移动返回2019年12月21日18(1)解参数的设置(Solver)2019年12月21日19(2)仿真数据的输入输出设置(WorkspaceI/O)2019年12月21日20(3)仿真中异常情况的诊断(Diagnostics)返回2019年12月21日211.9.2模型的创建和模型文件(续2)1.9.2.3SIMULINK模型文件SIMULINK除了可以通过图形界面设计模块外,也可以通过直接编写mdl文件来设计仿真模型图。一个有输入和输出的图形界面设计模块。用mdl文件编写有输入和输出的增益器。(在Word下)GainInOut1112019年12月21日221.9.2模型的创建和模型文件(续2)1.9.2.4常用的Source库信源例:如何调用MATLAB工作空间中的信号矩阵作为模型输入。本例所需的输入为elseTtTTttTttu200)2()(22。2019年12月21日23(1)编写一个产生信号矩阵的M文件[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'];2019年12月21日24(2)构造简单的接收用的信号模型2019年12月21日25(3)模块参数的设置双击模块source0825_1,弹出“FromWorkspace”设置对话框,在Data栏中填写TU(4)在MATLAB工作空间产生信号矩阵TU=source0825_1(1,100,4)(5)开始仿真2019年12月21日261.9.3仿真运行1.9.3.1使用菜单进行仿真设置仿真参数和选择求解器通过选择菜单Simulation下的Parameters菜单项,用来设置仿真参数和选择求解器。其中有三个页面管理这些仿真参数。•在Solver页面,设置开始和停止时间,选择求解器和指定求解器(solver)的参数,另外还可以选择一些输出选项。•在WorkspaceI/O页面,管理对MATLAB工作空间的输入和输出。•在Diagnostics页面,可以选择在仿真期间显示的警告信息的层次。•在Solveroptions中,SIMULINK模型的仿真涉及到一组常微分方程(ODEs)的数值积分。如果模型是连续系统,使用ode45方法;如果模型不是连续系统,使用discrete方法。例1.9.1.2:实现两个正弦信号的相乘。2019年12月21日27从命令窗口运行仿真的函数有4个,即sim、simset、simget和set_param。1.sim函数sim函数的作用是运行一个由Simulink建立的模型,其调用格式为:[t,x,y]=sim(modname,timespan,options,data)1.9.3仿真运行(续1)1.9.3.2通过命令行运行仿真通过命令行运行仿真与通过菜单运行仿真相比,有如下的一些优点:•可以不理睬模块中的初始条件(参数x0);•可以定义任何外部输入(用参数ut);•可以由一个M文件来启动一个仿真,并且允许模块中的参数发生改变。2019年12月21日282.simset函数simset函数用来为sim函数建立或编辑仿真参数或规定算法,并把设置结果保存在一个结构变量中。它有如下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_opstruct的值。(4)simset:显示所有的参数名和它们可能的值。2019年12月21日293.simget函数simget函数用来获得模型的参数设置值。如果参数值是用一个变量名定义的,simget返回的也是该变量的值而不是变量名。如果该变量在工作空间中不存在(即变量未被赋值),则Simulink给出一个出错信息。该函数有如下3种用法:(1)struct=simget(modname):返回指定模型model的参数设置的options结构。(2)value=simget(modname,property):返回指定模型model的参数property的值。(3)value=simget(options,property):获取options结构中的参数property的值。如果在该结构中未指定该参数,则返回一个空阵。用户只需输入能够唯一识别它的那个参数名称的前几个字符即可,对参数名称中字母的大小写不作区别。2019年12月21日304.set_param函数set_param函数的功能很多,这里只介绍如何用set_param函数设置Simulink仿真参数以及如何开始、暂停、终止仿真进程或者更新显示一个仿真模型。(1)设置仿真参数调用格式为:set_param(modname,property,valu
本文标题:理论课第1讲-19matlab工具箱_simulink
链接地址:https://www.777doc.com/doc-2195713 .html