第03章-状态变量法

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

电力电子与交流传动系统仿真第3章基于MATLAB的建模与仿真......................................................................13.1MATLAB/SIMULINK简介...........................................................................13.2基于M文件的程序设计................................................................................33.2.1M文件的特点与形式............................................................................................33.2.2命令式文件.............................................................................................................43.2.3函数式文件.............................................................................................................43.3SIMULINK的建模方法.................................................................................53.3.1Simulink模块库简介.............................................................................................53.3.2仿真建模与运行.....................................................................................................73.3.3子系统的生成与封装.............................................................................................83.4S-函数............................................................................................................103.4.1S-函数的基本概念...............................................................................................103.4.2S-函数的工作原理...............................................................................................113.4.3基于M文件的S-函数.........................................................................................133.5仿真举例........................................................................................................14第3章基于MATLAB的建模与仿真-1-第3章基于MATLAB的建模与仿真目前在电力电子与电力传动领域使用的系统仿真软件大体上可分为两类[12]:一类是通过将通用电路仿真软件,如Pspice、SABER中原有的小功率器件的详细模型加以改造,引入功率器件模型,使其应用领域扩展到电力电子装置的仿真;另一类是在现有的专用仿真软件,如控制系统仿真软件MATLAB、电力系统仿真软件EMPT中加入以理想开关为模型的电力电子器件模型,从而将仿真技术扩展到包括电力电子装置的系统分析之中。采用理想开关模型对电力电子器件进行模拟具有结构简单,节约计算机资源的优点,所以本章着重介绍目前流行的系统仿真软件MATLB/SIMULINK。3.1MATLAB/SIMULINK简介MATLAB软件为系统仿真的实施提供了强有力的支持。MATLAB是矩阵实验室“MatrixLaboratory”的缩写,由美国MathWorks公司推出,其开发的最初目的是帮助高校的教师和学生更好地授课和学习。从MATLAB诞生开始,由于其高度的集成性和应用的方便性,在高校中受到极大的欢迎。目前,MATLAB已经成为一种功能强大的计算机辅助设计和仿真语言,具有强大的计算、仿真、绘图等功能。尤其是它提供的Simulink仿真工具具有图形化、模块化的界面,能非常快地实现设计预想,极大地节约设计时间,因而倍受科研人员的青睐。1.MATLAB的主要特点[15](1)功能强大。MATLAB不仅在数值计算上保持着对其他同类软件的绝对优势,而且还开发了自己的符号处理功能,在符号处理上丝毫不逊于其他同类软件。这样用户就不必像以前的计算人员一样在掌握MATLAB的同时还要学习另一种符号处理软件。用户只要拥有了一个MATLAB,就可以方便地处理诸如矩阵变换及运算、多项式运算、微积分运算、线性与非线性方程求解、常微分方程求解、偏微分方程求解、插值与拟合、特征方程与特征值、统计分析及优化设计等问题了。另外,MATLAB提供了一套完善的图形可视化功能,这为用户向别人展示自己的计算结果提供了广阔的空间。(2)语言简单。MATLAB允许用户以数学形式的语言编写程序,比BASIC、FORTRAN、C语言更接近书写计算公式的思维方式。它的操作和功能函数指令就是平时计算机和数学书上的一些简单的英文单词。由于它是用C语言开发的,它的不多的几个程序流控制语句同C语言差别甚微,极易被初学者掌握。MATLAB语言的帮助(Help)系统也是相当强大的,用户可以方便地在线查询各种信息。另外,MATLAB还专门为初学者提供了intro、tour、demo等命令,用户可以从中得到感兴趣的例子和解释。(3)编程及调试方便。从形式上看,MATLAB程序文件是一个纯文本文件,第3章基于MATLAB的建模与仿真-2-扩展名为m,用任何字处理软件都可以对它进行编写和修改,因此程序易调试,人机交互性强。另外,MATLAB还具有比较健全的调试系统,调试方便、简单。(4)可扩充性强。MATLAB本身就像一个解释系统,对其中的函数程序的执行是一种解释执行的方式,这样最大的好处是MATLAB完全成为一个开放的系统,用户可以方便地看到其函数的源程序,也可以方便地开发自己的程序,甚至创建自己的“库”。另外,MATLAB并不排“他”,它可以方便地和FORTRAN、C等语言进行接口,充分利用各种资源。用户只需将已有的EXE文件改成MEX文件,就可以方便地调用有关程序和子程序。2.SIMULINK的主要特点Simulink是一个用来对动态系统进行建模、仿真和分析的软件包。使用Simulink来建模、分析和仿真各种动态系统(包括连续系统、离散系统和混合系统),将是一件非常轻松的事情。它提供了一种图形化的交互环境,只需用鼠标拖动的方法便能迅速地建立起系统框图模型,甚至不需要编写一行代码。它和MATLAB的无缝结合使得用户可以利用MATLAB丰富的资源,建立仿真模型,监控仿真过程,分析仿真结果。另外,Simulink在系统仿真领域中已经得到广泛的承认和应用,许多专用的仿真系统都支持Simulink模型,这非常有利于代码的重用和移植。使用Simulink可以方便地进行控制系统、DSP系统、通信系统以及其它系统的仿真分析和原型设计。利用Simulink进行系统的建模仿真,其最大的优点是易学、易用,并能依托MATLAB提供的丰富的仿真资源。Simulink的主要特点如下[16]:(1)交互式、图形化的建模环境。Simulink提供了丰富的模块库以帮助用户快速地建立动态系统模型。建模时只需使用鼠标拖放不同模块库中的系统部件模块并将它们连接起来。另外,还可以把若干功能块组合成子系统,建立起分层的多级模型,Simulink提供的模型浏览器(ModelBrowser)可以使用户方便地浏览整个模型的结构和细节。Simulink这种图形化、交互式的建模过程非常直观,且容易掌握。(2)交互式的仿真环境。Simulink框图提供了交互性很强的仿真环境,既可以通过下拉菜单执行仿真,也可以通过命令行进行仿真。菜单方式对于交互工作非常方便,而命令行方式对于运行一系列仿真非常有用。有了Simulink,用户在仿真的同时,可采用交互或批处理的方式,方便地更换参数来进行“What-if”式的分析。仿真过程中各种状态参数可以在仿真运行的同时通过示波器或者利用ActiveX技术的图形窗口显示。(3)丰富的专用模块库。作为Simulink建模系统的补充,MathWorks公司还开发了专用功能块程序包,如PowerSystemBlockset、DSPBlockset和CommunicationBlockset等。通过使用这些程序包,用户可以迅速地对系统进行建模、仿真与分析。更重要的是用户还可以对系统模型进行代码生成,并将生成的代码下载到不同的目标机上。可以说,MathWorks公司为用户从算法设计、建第3章基于MATLAB的建模与仿真-3-模仿真,一直到系统实现提供了完整的解决方案。而且,为了方便用户系统的实施,MathWorks公司还开发了实施软件包,如TI和Motorola开发工具包,以方便用户进行目标系统的开发。(4)模块库的扩充和定制机制。Simulink的开放式结构允许用户扩展仿真环境的功能:采用MATLAB、FORTRAN和C代码生成自定义模块库,并拥有自己的图标和界面,如基于S-函数的自定义模块。因此,用户可以将使用FORTRAN或C编写的代码链接进来,或者购买使用第三方开发提供的模块库进行更高级的系统设计、仿真与分析。(5)与MATLAB工具箱的集成。由于Simulink可以直接利用MATLAB的诸多资源与功能,因而用户可以直接在Simulink下完成诸如数据分析、过程自动化、优化参数等工作。工具箱提供的高级的设计和分析能力可以融入仿真过程。3.2基于M文件的程序设计3.2.1M文件的特点与形式MATLAB作为一种高级计算机语言,它不仅可以以一种人机交互式的命令行指令操作方式工作,而且还可以像BASIC、FORTRAN、C语言等其它高级计算机语言一样进行控制流程的程序设计,即编制一种以m为扩展名的文件(以下简称M文件)。M文件的编制同BASIC、FORTRAN、C语言比较起来,有许多无法比拟的优点,如语言简单、可读性强、调试方便等。因此,MathWorks公司又把MATLAB语言称为第四代编程语言。MATLAB实质上是一种解释型语言,用户可以把所要实现的指令编制成文件,再一起送入MATLAB系统中去解释执行,这就是M文件。M文件其实是一个命令集的纯文本文件(ASCII文件),所以其语法简单、可移植性强、调试方便。用户可以应用任何文本编辑器或字处理软件对其进行编写和修改,而且可以将某个功能函数在命令窗口中调试成功后再加到M文件之中。对于个人用户来说,还可以利用M文件建造和扩充属于自己的“库”。另外,由于商用的MATLAB软件是用C语言编写而成的,因此M文件的语法与C语言十分相似。对于广大的C语言爱好者来说,M文件的编写是相当容易的。M文件有两种形式,即命令式(Script)和函数式(F

1 / 22
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功