第03章-基于MATLAB的建模与仿真

上传人:我*** 文档编号:137614986 上传时间:2020-07-10 格式:PPT 页数:77 大小:1.24MB
返回 下载 相关 举报
第03章-基于MATLAB的建模与仿真_第1页
第1页 / 共77页
第03章-基于MATLAB的建模与仿真_第2页
第2页 / 共77页
第03章-基于MATLAB的建模与仿真_第3页
第3页 / 共77页
第03章-基于MATLAB的建模与仿真_第4页
第4页 / 共77页
第03章-基于MATLAB的建模与仿真_第5页
第5页 / 共77页
点击查看更多>>
资源描述

《第03章-基于MATLAB的建模与仿真》由会员分享,可在线阅读,更多相关《第03章-基于MATLAB的建模与仿真(77页珍藏版)》请在金锄头文库上搜索。

1、-1-,第3章 基于MATLAB的建模与仿真,3.1 MATLAB/SIMULINK简介,3.2 基于M文件的程序设计,3.3 SIMULINK的建模方法,3.4 S-函数,3.5 仿真举例,-2-,目前在电力电子与电力传动领域使用的系统仿真软件大体上可分为以下两类: 一类是通过将通用电路仿真软件,如Pspice、SABER中原有的小功率器件的详细模型加以改造,引入功率器件模型,使其应用领域扩展到电力电子装置的仿真; 另一类是在现有的专用仿真软件,如电力系统仿真软件EMPT、控制系统仿真软件MATLAB中加入以理想开关为模型的电力电子器件模型,从而将仿真领域扩展到包括电力电子装置的系统分析中。

2、 采用理想开关模型对电力电子器件进行模拟具有结构简单,节约计算机资源的优点,所以本章着重介绍目前流行的系统仿真软件MATLB/SIMULINK。,-3-,3.1 MATLAB/SIMULINK简介 MATLAB软件为系统仿真的实施提供了强有力的支持。MATLAB是矩阵实验室“Matrix Laboratory”的缩写,由美国MathWorks公司推出,其开发的最初目的是帮助高校的教师和学生更好地授课和学习。从MATLAB诞生开始,由于其高度的集成性和应用的方便性,在高校中受到极大的欢迎。目前,MATLAB已经成为一种功能强大的计算机辅助设计和仿真语言,具有强大的计算、仿真、绘图等功能。尤其是它

3、提供的SIMULINK仿真工具具有图形化、模块化的界面,能非常快地实现设计预想,极大地节约设计时间,因而受到广大科研人员的青睐。,-4-,1MATLAB的主要特点 (1) 功能强大 MATLAB不仅在数值计算上保持着对其他同类软件的绝对优势,而且还开发了自己的符号处理功能, 在符号处理上丝毫不逊于其他同类软件。 这样用户就不必像以前的计算人员一样在掌握MATLAB的同时还要学习另一种符号处理软件。用户只要拥有了一个MATLAB,就可以方便地处理诸如矩阵变换及运算、 多项式运算、微积分运算、线性与非线性方程求解、 常微分方程求解、偏微分方程求解、 插值与拟合、 特征方程与特征值、统计分析及优化设

4、计等问题了。 另外,MATLAB提供了一套完善的图形可视化功能,这为用户向别人展示自己的计算结果提供了广阔的空间。,-5-,(2) 语言简单 MATLAB允许用户以数学形式的语言编写软件程序, 比BASIC、FORTRAN、C语言更接近书写计算公式的思维方式。它的操作和功能函数指令 就是平时计算机和数学书上的一些简单的英文单词。由于它是用C语言开发的,它的不多的几个程序流控制语句同C语言差别甚微,极易被初学者掌握。 MATLAB语言的帮助(Help)系统也是相当强大的, 用户可以方便地在线查询各种信息。 另外,MATLAB还专门为初学者提供了intro、tour、demo等命令,用户可以从中得

5、到感兴趣的例子和解释。,-6-,(3) 编程及调试方便 从形式上看,MATLAB程序文件是一个纯文本文件,扩展名为m,用任何字处理软件都可以对它进行编写和修改, 因此程序易调试,人机交互性强。 另外,MATLAB还具有比较健全的调试系统,调试方便、简单。,-7-,(4) 可扩充性强 MATLAB本身就像一个解释系统,对其中的函数程序的执行是一种解释执行的方式,这样最大的好处是MATLAB完全成为一个开放的系统,用户可以方便地看到其函数的源程序, 也可以方便地开发自己的程序,甚至创建自己的“库”。 另外, MATLAB并不排“他”, 它可以方便地和普通的FORTRAN、C等语言进行接口,充分利用

6、各种资源。用户只需将已有的EXE文件改成MEX文件, 就可以方便地调用有关程序和子程序。,-8-,2SIMULINK的主要特点 SIMULINK是一个用来对动态系统进行建模、仿真和分析的软件包。使用SIMULINK来建模、分析和仿真各种动态系统(包括连续系统、离散系统和混合系统),将是一件非常轻松的事情。它提供了一种图形化的交互环境,只需用鼠标拖动的方法便能迅速地建立起系统框图模型,甚至不需要编写一行代码。它和MATLAB的无缝结合使得用户可以利用MATLAB丰富的资源,建立仿真模型,监控仿真过程,分析仿真结果。另外,SIMULINK在系统仿真领域中已经得到广泛的承认和应用,许多专用的仿真系统

7、都支持SIMULINK模型,这非常有利于代码的重用和移植。使用SIMULINK可以方便地进行控制系统、DSP系统、通信系统及其它系统的仿真分析和原型设计。 利用SIMULINK进行系统的建模仿真,其最大的优点是易学、易用,并能依托MATLAB提供的丰富的仿真资源。,-9-,(1) 交互式、图形化的建模环境 SIMULINK提供了丰富的模块库以帮助用户快速地建立动态系统模型。 建模时只需使用鼠标拖放不同模块库中的系统部件模块并将它们连接起来。 另外,还可以把若干功能块组合成子系统,建立起分层的多级模型,SIMULINK提供的模型浏览器(model browser)可以使用户方便地浏览整个模型的结

8、构和细节。SIMULINK这种图形化、交互式的建模过程非常直观,且容易掌握。,-10-,(2) 交互式的仿真环境 SIMULINK框图提供了交互性很强的仿真环境,既可以通过下拉菜单执行仿真,也可以通过命令行进行仿真。菜单方式对于交互工作非常方便,而命令行方式对于运行一系列仿真非常有用。有了SIMULINK,用户在仿真的同时,可采用交互或批处理的方式,方便地更换参数来进行“What-if”式的分析。仿真过程中各种状态参数可以在仿真运行的同时通过示波器或者利用ActiveX技术的图形窗口显示。,-11-,(3) 丰富的专用模块库 作为SIMULINK建模系统的补充, MathWorks公司还开发了

9、专用功能块程序包,如Power System Blockset、DSP Blockset和Communication Blockset等。通过使用这些程序包,用户可以迅速地对系统进行建模、仿真与分析。 更重要的是用户还可以对系统模型进行代码生成, 并将生成的代码下载到不同的目标机上。 可以说,MathWorks为用户从算法设计、建模仿真,一直到系统实现提供了完整的解决方案。 而且,为了方便用户系统的实施,MathWorks公司还开发了实施软件包,如TI和Motorola开发工具包,以方便用户进行目标系统的开发。,-12-,(4) 模块库的扩充和定制机制 SIMULINK的开放式结构允许用户扩展

10、仿真环境的功能:采用MATLAB、FORTRAN和C代码生成自定义模块库,并拥有自己的图标和界面,如基于S-函数的自定义模块。因此,用户可以将使用FORTRAN或C编写的代码链接进来,或者购买使用第三方开发提供的模块库做更高级的系统设计与仿真分析。,-13-,(5) 与MATLAB工具箱的集成 由于SIMULINK可以直接利用 MATLAB的诸多资源与功能,因而用户可以直接在SIMULINK下完成诸如数据分析、过程自动化、优化参数等工作。 工具箱提供的高级的设计和分析能力可以融入仿真过程。,-14-,3.2 基于M文件的程序设计 3.2.1 M文件的特点与形式 MATLAB作为一种高级计算机语

11、言,它不仅可以以一种人机交互式的命令行指令操作方式工作,而且还可以像BASIC、FORTRAN、C语言等其它高级计算机语言一样进行控制流程的程序设计,即编制一种以m为扩展名的文件(以下简称M文件)。M文件的编制同BASIC、FORTRAN、C语言比较起来,有许多无法比拟的优点,如语言简单、可读性强、调试方便等。因此,MathWorks公司又把MATLAB语言称为第四代编程语言。,-15-,MATLAB实质上是一种解释型语言,用户可以把所要实现的指令编制成文件,再一起送入MATLAB系统中去解释执行,这就是M文件。M文件其实是一个命令集的纯文本文件(ASCII文件),所以其语法简单、可移植性强、

12、调试方便。用户可以应用任何文本编辑器或字处理软件对其进行编写和修改,而且可以将某个功能函数在命令窗口中调试成功后再加到M文件之中。对于个人用户来说,还可以利用M文件建造和扩充属于自己的“库”。另外,由于商用的MATLAB软件是用C语言编写而成的,因此M文件的语法与C语言十分相似。对于广大的C语言爱好者来说,M文件的编写是相当容易的。,-16-,M文件有两种形式,即命令式(Script)和函数式(Function)。 命令式文件就是命令的简单叠加,MATLAB自动按顺序执行文件中的命令。这样就解决了用户在命令窗口中逐个运行许多命令的麻烦,还避免了用户做许多重复性工作的问题。 函数式文件主要解决模

13、块化程序设计中函数调用和参数传递的问题,它的第一句总是以Function语句为引导。,-17-,3.2.2 命令式文件 由于命令式文件的运行相当于在命令窗口(Command Window)中逐行输入并运行指令,所以用户在编制此类文件时,只需要把所要执行的命令按行编辑到指定的文件中,且变量不需要预先定义,也不存在文件名对应问题。,-18-,例3-1 建立一命令集以实现以下两矩阵相乘,-19-,在M-edit窗口中编写以下内容: % example3_1.m clear all clc A=1 2 3;. 2 3 4;. 3 4 5; B=1 1 1 5;. 2 2 2 5;. 3 3 3 5;

14、C=A*B,-20-,编写好之后,以文件名example3_1.m 保存, 并在MATLAB主命令窗口执行命令 example3_1 则显示结果: C = 14 14 14 30 20 20 20 45 26 26 26 60,-21-,3.2.3 函数式文件 为了进行模块化的程序设计,需要编写函数式文件,以实现函数调用和参数传递。函数式文件可以有返回值,也可以只执行操作而无返回值。 函数式文件在MATLAB中应用十分广泛, MATLAB所提供的绝大多数功能都是由函数式文件实现的,这也说明了函数式文件的重要性。,-22-,例3-2 采用四阶龙格-库塔法求解以下状态方程,-23-,取仿真时间t=

15、010s,在M-edit窗口中编写以下内容: % example3_2.m function example3_2=example3_2(t,x) example3_2=-2 1; 998 -999*x+0.5*sin(t); 999*(cos(t)-sin(t);编写好之后,以文件名example3_2.m 保存, 并在MATLAB主命令窗口执行命令 ode45(example3_2,0 10,2,3) 则直接显示图3-1所示的图形。若执行命令 t,x=ode45(example3_2,0 10,2,3) 则可以得到状态方程的数值解x(t)。,-24-,-25-,3.3 SIMULINK的建

16、模方法 3.3.1 Simulink模块库简介 在MATLAB命令窗口中给出Simulink命令,或单击 MATLAB 工具栏中的Simulink图标, 则可打开Simulink模块库窗口, 如图3-2所示。,-26-,由图3-2可见,Simulink提供了大量的以图形方式给出的内置系统模块,使用这些内置模块可以快速而方便地设计出特定的动态系统仿真模型。Simulink的模块库能够对系统模块进行有效的管理与组织,用户可以按照类型选择合适的系统模块,获得系统模块的简单描述,以及查找系统模块等,并且可以直接将模块库中的模块拖动或者拷贝到用户的系统模型中,以构建动态系统模型。,-27-,Simulink模块库可分为公共模块库和专业模块库两大类: (1) 公共模块库。Simulink公共模块库是Simulink中最为基础、最为通用的模块库,它可以被应用到不同的专业领

展开阅读全文
相关资源
相关搜索

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

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