![[理学]MATLAB课件.doc_第1页](http://file.renrendoc.com/FileRoot1/2019-1/5/af60f854-199a-4209-985e-80f2f1e02fe8/af60f854-199a-4209-985e-80f2f1e02fe81.gif)
![[理学]MATLAB课件.doc_第2页](http://file.renrendoc.com/FileRoot1/2019-1/5/af60f854-199a-4209-985e-80f2f1e02fe8/af60f854-199a-4209-985e-80f2f1e02fe82.gif)
![[理学]MATLAB课件.doc_第3页](http://file.renrendoc.com/FileRoot1/2019-1/5/af60f854-199a-4209-985e-80f2f1e02fe8/af60f854-199a-4209-985e-80f2f1e02fe83.gif)
![[理学]MATLAB课件.doc_第4页](http://file.renrendoc.com/FileRoot1/2019-1/5/af60f854-199a-4209-985e-80f2f1e02fe8/af60f854-199a-4209-985e-80f2f1e02fe84.gif)
![[理学]MATLAB课件.doc_第5页](http://file.renrendoc.com/FileRoot1/2019-1/5/af60f854-199a-4209-985e-80f2f1e02fe8/af60f854-199a-4209-985e-80f2f1e02fe85.gif)
已阅读5页,还剩80页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第五章 电力电子电路的MATLAB仿真MATLAB是一种科学计算软件。MATLAB是Matrix Laboratory(矩阵实验室)的缩写,这是一种以矩阵为基础的交互式程序计算语言。早期的MATLAB主要用于解决科学和工程的复杂数学计算问题。由于它使用方便、输入便捷、运算高效、适应科技人员的思维方式,并且有绘图功能,有用户自行扩展的空间,因此特别受到用户的欢迎,使它成为在科技界广为使用的软件,也是国内外高校教学和科学研究的常用软件。MATLAB由美国Mathworks公司于1984年开始推出,逐步升级,到2001年已经有了6.0版,现在MATLAB 6.1、6.5、7.0及更高版都已相继面世。早期的MATLAB在DOS环境下运行,1990年推出了Windows版本。1993年,Mathworks公司又推出了MATLAB的微机版,充分支持在Microsoft Windows界面下的编程,它的功能越来越强大,在科技和工程界广为传播,是各种科学计算软件中使用频率最高的软件。本书以MATLAB2007a版本为基础讲解软件的使用。MATLAB比较易学,它只有一种数据类型(即64位双精度二进制),一种标准的输入输出语句,它用解释方式工作,不需要编译,一般入门后经过自学就可以掌握。如果有不清楚的地方,可以通过它的帮助( help)和演示(demo)功能得到启示。学习MATLAB的难点在于,它有大量函数,这些MATLAB函数仅基本部分就有700多个,其中常用的有200-300个,掌握和记忆起来都比较困难。1993年出现了SIMULINK,这是基于框图的仿真平台,SIMULINK挂接在MATLAB环境上,以MATLAB的强大计算功能为基础,以直观的模块框图进行仿真和计算。SIMULINK提供了各种仿真工具,尤其是它不断扩展的、内容丰富的模块库,为系统的仿真提供了极大便利。在SIMULINK平台上,拖拉和连接典型模块就可以绘制仿真对象的模型框图,并对模型进行仿真。在SIMULINK平台上,仿真模型的可读性很强,这就避免了在MATLAB窗口使用MATLAB命令和函数仿真时需要熟悉记忆大量M函数的麻烦,对广大工程技术人员来说,这无疑是最好的福音。现在的MATLAB同时捆绑了SIMULINK,版本也在不断地升级,从1993年的MATLAB4.0/SIMULINK1.0版、2001年的MATLAB 6.1/SIMULINK 4.1版到2002年的MATLAB6.5/SIMULINK5.0版,版本还在不断升级,MATLAB已经不再是单纯的矩阵实验室了,它已经成为一个高级计算和仿真平台。SIMULINK原本是为控制系统的仿真而建立的工具箱,在使用中易编程、易拓展,并且可以解决MATLAB不易解决的非线性、变系数等问题。它能支持连续系统和离散系统的仿真,支持连续离散混合系统的仿真,也支持线性和非线性系统的仿真,并且支持多种采样频率(Multirate)系统的仿真,也就是不同的系统能以不同的采样频率组合,这样就可以仿真较大、较复杂的系统。因此,各科学领域根据自己的仿真需要,以MATLAB为基础,开发了大量的专用仿真程序,并把这些程序以模块的形式都放入SIMULINK中,形成了模块库。SIMULINK的模块库实际上就是用MATLAB基本语句编写的子程序集。现在SIMULINK模块库有三级树状的子目录,在一级目录下就包含了SIMULINK最早开发的数学计算工具箱、控制系统工具箱的内容,之后开发的信号处理工具箱(DSP Blocks)、通信系统工具箱(Comm) 等也并行列入模块库的一级子目录,逐级打开模块库浏览器(SIMULINK Library Browser)的目录,就可以看到这些模块。从SIMULINK 4.1开始,有了电力系统模块库(Power System Blockset),该模块库主要由加拿大HydroQuebec和TECSIM International 公司共同开发。在SIMULINK环境下用电力系统模块库的模块,可以方便地进行RLC电路、电力电子电路、电机控制系统和电力系统的仿真。本书中电力电子和电力拖动控制系统的仿真就是在MATLAB/SIMULINK环境下,主要使用电力系统模块库和SIMULINK两个模块库进行。通过电力电子电路和电机控制系统的仿真,不仅展示了MATLAB/SIMULINK的强大功能,并且可以学习控制系统仿真的方法和技巧,研究电路和系统的原理和性能。由于SIMULINK和MATLAB的密切依存关系,在介绍SIMULINK之前,必须首先介绍MATLAB。MATLAB的一些基本命令和函数,尤其是MATLAB的绘图功能,是在电力电子电路和电力拖动控制系统的仿真中要经常使用的。但是本书主要是介绍电力电子电路和电力拖动控制系统的仿真,因此对MATLAB只介绍与本书有关的内容。MATLAB功能强大,有关MATLAB的书刊已经很多,对MATLAB更深入的要求,可以阅读其他介绍MATLAB的书籍。5-1 MATLAB的计算基础MATLAB的计算主要是数组和矩阵的计算,并且定义的数值元素是复数,是MATLAB的重要特点。函数是计算中必不可少的,MATLAB函数的变量不需要事先定义,它以在命令语句中首次出现而自然定义,这在使用中很方便。使用MATLAB/SIMULINK进行仿真,MATLAB的计算大部分已经模块化了,但掌握一些必要的计算知识和定义还是很有必要的。5.1.1 常量和变量MATLAB数值计算的数据有常量和变量两种,变量和常量都可以用标识符来表示和辨别,这些标识符也就是变量名,变量在数值计算前必须先赋值。一、常量MATLAB的常量有实数和复数两类,复数又有实部和虚部两部分, MATLAB定义的数值元素是复数,因此实数是复数虚部为零的特殊情况。常量可以是十进制数,也可以是其他进制的数值。在MATLAB中,虚数的单位为(),复数的生成语句为 式中,、为实数,为复数名。或 式中,为复数的模; 为复数的辐角()。MATLAB中的常数存储格式是16位长型格式,数值有效范围是。二、变量MATLAB变量的命名规则如下:1)变量名以英文字母开始,即首字符必须是26个英文字母之一。2) 变量名可以由英文字母、数字和下划线组成,MATLAB能区分字母的大小写。3) 变量名长度不超过31个字符长度。4) 如果在变量名前添加了关键词global,该变量就成为全局变量,全局变量不仅在主程序中起作用,并且在调用的子程序和函数中起作用。定义全局变量必须在主程序的首行,这是惯例。MATLAB有一些规定的常量和变量,这些常量和变量见表5-1。 表5-1 MATLAB规定的常量和变量常量和变量名说 明(或)默认变量名,用于应答最近一次的操作、运算结果 或虚数单位圆周率浮点数的相对误差最大的实正数最小的实正数(或)无穷大(或)表示不定值(即0/0)函数实际输入的参数个数函数实际输出的参数个数5.1.2 数组和矩阵的表示和赋值数组是指按一定次序排列的数,矩阵是由个数,按行和列排列而成的表。数组可以是一维的,也可以是维的,因此一维数组可以看成是一行多列的矩阵,是矩阵的特殊情况,一般也称为行矢量,而一列多行的矩阵称为列矢量。维数组一般也就是矩阵了。单个的数或标量则可以看成是的矩阵,所以数、数组都可以用矩阵表示, MATLAB也以矩阵作为运算的基本单元。MATLAB既支持数组的运算,也支持矩阵的运算,但是数组与矩阵的运算有很大的不同,数组的运算对数组中每个元素都执行相同的操作,而矩阵的运算则按线性代数的法则进行。一、一维数组的表示和赋值一维数组(行矢量)是用方括号括起的一组元素(或数),元素之间用空格或逗号分隔,组成数组的元素可以是具体的数值、变量名或算式。举例如下:为数组名, 为组成数组的元素,元素之间以空格分隔。 数组元素包含复数,元素间以逗号分隔。 包含变量的数组,为变量名。 以算式表示的数组二、维数组和矩阵的表示和赋值维数组或矩阵的表示和赋值的规则是矩阵或数组的元素列入方括号中,每行的元素间用空格或逗号分隔,行与行之间用分号或回车键隔开。举例如下,即为矩阵名,方括号内表示一个的矩阵。矩阵内的元素可以是数值、变量或者表达式。如5.1.3 MATLAB 的算术运算MATLAB的算术运算符见表5-2。表5-2 MATLAB的算术运算符算术运算说 明算术运算说 明加矩阵左除减.数组左除矩阵乘矩阵右除数组成数组右除矩阵乘方矩阵转置数组乘方数组转置5.1.4 MATLAB 的关系运算所谓关系运算是指两个元素之间的比较,关系运算的结果只可能是或。表示该关系式不成立,即为假;表示该关系式成立,即为真。MATLAB的关系运算有六种,见表5-3 。表5-3 MATLAB的关系运算符关系运算符说 明关系运算符说 明等于小于不等于大于等于大于小于等于5.1.5 MATLAB 的逻辑运算逻辑量只有(假)和(真)两个值,逻辑量的基本运算有与(&)、或(|)和非()三种。有时也包括异或运算(),异或运算可以通过三种基本运算组合而成。基本逻辑运算的真值见表5-4。表5-4 MATLAB的关系运算符逻辑运算 5.1.6 MATLAB的特殊运算符MATLAB有一些特殊运算符在命令和计算中使用,这些特殊运算符见表5-5 。要特别指出的是,这些特殊运算符在英文状态下输入有效,在中文状态下输入则无效。表5-5 MATLAB的关系运算符特殊运算符说明冒号,输入行矢量,从矢量、数组、矩阵中取指定元素、行和列、大矩阵中取小矩阵分号,用于分隔行逗号,用于分隔列圆括号,用于表示数学运算中的先后次方括号,用于构成矢量和矩阵大括号,用于构成单元数组小数点或域访问符父目录用于语句末端,表示该行未结束%用于注释用于调用操作系统命令用于赋值5.1.7 MATLAB 常用的函数MATLAB的函数极为丰富,一些常用的数学函数见表5-6 。表5-6 MATLAB的关系运算符分类函数说明分类说明函数三角函数正弦三角函数双曲余切余弦反双曲正割正切反双曲余割反正弦反双曲余切反余弦反双曲正弦正割反双曲余弦余割反双曲正切余切反余切反正割双曲正割反余割双曲正切双曲余割双曲正弦反正切双曲余弦指数函数以为底的对数复数求共轭复数自然对数是实数时为真以2为底的对数去掉相角突变以10为底的对数安共轭复数对排序2的幂取整函数四舍五入取整数求平方根向方向取整数求比输入数大而最近2的幂向方向取整数复数求绝对值和复数模向方向取整数求相角符号函数实部整除,求余数虚部整除,取正余数5-2 MATLAB程序设计基础MATLAB是一种解释性高级程序设计语言,对程序中的语言边解释边执行。MATLAB与其他高级语言一样,是由顺序、选择和循环三种基本控制结构组成。MATLAB语句包括表达语句、控制语句、调试语句和空语句等。控制语句还包括条件、循环和一些转移语句。MATLAB的语句键入后按回车键即可执行,因此一般也把语句称为命令。MATLAB程序的基本结构如下,即% 说明清除命令定义变量逐行执行的命令 循环和转移逐行执行的命令 end逐行执行的命令 5.2.1 表达式、表达式语句和赋值语句一、表达式由运算符连接的常量、变量和函数就构成了MATLAB的表达式,因此在MATLAB中有算术表达式、函数表达式、关系表达式和逻辑表达式等。MATLAB 中的数组可以进行这四种运算,而矩阵只能进行前两种运算。二、表达式语句单个的表达式就是表达式语句,一行可以只有一个表达式语句,也可以有多个表达式语句,这时语句间用分号(;)或逗号(,)分隔。语句以回车换行结束。以分号结束的语句执行后不显示运行结果,以逗号和回车键结束的语句执行后即显示运行结果。如果一条语句需要占用多行,这时需要使用连续符()。三、赋值语句将表达式的值赋予变量就是赋值语句。 5.2.2 流程控制语句MATLAB语句一般是逐条执行的,如果需要中途改变执行的次序,就需要流程控制语句。MATLAB的流程控制语句有if、while和for三种。在MATLAB 5.0 版后又增加了switch-case 语句。一、if 语句if 语句有三种形式,分别为if (表达式),语句组A,endif (表达式),语句组A,else语句组B,endif (表达式1),语句组A,else if (表达式2) 语句组B,else语句组C,end三种形式都以if开始,以end结束。最后的end是必不可缺的,否则在if语句执行完后,就会找不到后续程序的入口。语句中的表达式的值,即真(1)和假(0) 指示语句转移的条件。二、 while 循环语句while 语句的格式为while (表达式),语句组,endwhile循环语句的流程如图1-7所示。语句的执行规则是,当表达式的值为真(1)时,则执行循环体的语句组,并再次计算表达式的值,如果表达式的值还是为真,则继续循环,直到表达式的值为假(0)后,才结束循环,继续向下执行。三、for 循环语句for 语句的格式为for k=初始值:增量:终止值,语句组,endfor 语句将循环体中的语句组循环执行次,每执行一次,值就增加一个增量,所以循环的次数为(终值-初值)/增量。当值等于终止值后,循环结束,程序转向end 以后的语句。for语句可以嵌套使用。在循环(语句while 和for) 执行中,如果满足一定条件需要结束循环,可以使用break命令终止循环。四、switch-case语句switch-case 语句是一种多分支语句,语句的格式为switch 表达式(标量或字符串)case值1语句组Acase值2语句组B otherwise语句组NEnd在switch-case 语句中,当表达式的值(或字符串)与某个case 值(或字符串)相同时,就执行该case 值以下的语句组。如果表达式的值(或字符串)与任何一个case值都不相同,则执行otherwise 后的语句组N。5-3 MATLAB常用的其他命令MATLAB 的命令很多,前面介绍的数学运算和流程控制都是MATLAB的命令,下面再介绍一些常用的一般命令,见表5-7。表5-7 MATLAB的关系运算符命令简要说明demo打开MATLAB的示范help线上查寻指令info显示MATLAB的有关信息lookfor利用关键词查找相关指令path显示路径type显示MATLAB文件的内容what显示MATLAB某一目录下的文件which显示某一文件的路径clear清除变量(内置的常数和变量除外)clc清除命令窗口的显示disp显示一字符串length求出一个矢量的长度load装入程序的命令save保存程序who列出变量名whos列出变量的详细情况cd改变当前的工作目录delete删去一个文件diary存储在MATLAB环境下的文字dir显示目录unix用于运行UNIX的命令!用于运行DOS的命令format设定输出格式matlabrcMATLAB启动文件quit退出MATLAB5-4 MATLAB的绘图功能MATLAB计算的结果是数据,这些数据放在工作间(Workspace)中,如果数据量很大,则阅读这些数据是很困难的,习惯是用曲线和图形表示。MATLAB可以根据给出的数据,用绘图命令画出其图形,通过图形对计算结果进行描述,并且可以对图形进行处理,如加上标题、坐标、网格线和颜色等。本书后面的仿真披形,除小部分示波器画面是用屏幕复制方法截取的以外,主要都是通过MATLAB的绘图功能进行绘制的。绘图功能的处理能力,尚有一定限制。因此,图形中的文字符号,与通常规范尚有一些差距。MATLAB有很强的绘图功能,可以绘制二维图形、三维图形、直方图和饼图等,这里仅介绍一些常用的基本绘图命令和方法,见表5-8。表5-8 MATLAB的关系运算符基本X-Y 图形plot线性X-Y坐标图loglog双对数坐标图semilogx半对数(X轴)坐标图semilogy半对数(Y袖)坐标图plotyy双Y轴坐标图polar极坐标图坐标控制axis坐标分度、范围hold保持当前图形subplot拆分子图图形title标上图名text图上标注文字grid加上网格线gtext用鼠标定位文字xlablX轴文字标注ylablY轴文字标注legend标注图例5.4.1 直角坐标中的二维曲线在X-Y直角坐标系上画平面曲线是最常用的绘图方法,MATLAB绘制平面曲线的基本命令是plot命令。在平面上画一条曲线时plot命令的用法如下:一、plot(A)在X-Y平面上画一维数组A的图形。命令中A是一维数组的变量名。键入命令,在X-Y平面上画出的曲线,其X轴表示数组A中元素的下标,Y轴表示数组A 中对应元素的值。【例5-1】 用随机函数画出20个随机数的曲线。A =Columns 1 through 70.9501 0.2311 0.6068 0.4860 0.8913 0.7621 0.4565Columns 8 through 140.0185 0.8214 0.4447 0.6154 0.7919 0.9218 0.7382Columns 15 through 200.1763 0.4057 0.9355 0.9169 0.4103 0.8936 画得的曲线如图5-1所示, rand函数产生的随机数最大值为1,最小值为0,20个随机数的值之间用折线连接。图5-1 随机数曲线二、画二维数组A和B组成的曲线。二维数组A和B组成的曲线是以数组A的元素为X轴,Y轴上是对应的数组B的元素。A和B之间要用逗号,分隔。【例5-2】 画一条按正弦衰减的曲线。命令执行后得到如图5-2所示的曲线,图中X轴是时间t,Y轴是衰减函数值b。图5-2 正弦衰减曲线5.4.2 多条曲线的绘制如果要在一张图上绘制多条曲线,使用plot语句的格式如下:一、该语句中为组数据,每对数据可以画出一条曲线,一对数据必须有相同的长度,各对数据的长度可以不同。【例5-3】 在一张图上画一条幅值为10的正弦曲线和一条幅值为8的余弦曲线。命令如下,即plot命令回车执行后,得到两条正余弦曲线如图5-3所示。图5-3 两条曲线的绘制二、如果多条曲线有共同的X轴变量,则多个Y轴变量可以用方括号括起来。该语句中的t是矢量,是矩阵,若t是列(或行)矢量,则y的列(或行)长度应与t的长度相同,y的行(或列)数就是曲线的根数。三、该语句组是将曲线逐条画到一张图上。在画了第一条曲线后,用命令hold保持第一条曲线,然后在同一张图上再画上第二条曲线。四、plotyy使用这条命令,可以用两种Y轴比例画图,但是X轴的比例仍是一个。现仍以例5-3进行说明。但在例题中将正弦曲线幅值放大50倍,显然这两条曲线画在一张图上是不合适的。这时,可以使用plotyy命令,用两个比例来画图。图5-4 以不同的Y轴比例尺画曲线画得的波形如图5-4所示,图中正弦曲线的Y轴比例尺在左边,余弦曲线的比例尺在右边。5.4.3 电力电子电路波形图的绘制利用MATLAB 的命令和函数可以绘制电力电子电路的电压、电流等的波形,下面举例说明,并通过此例题进一步介绍MATLAB的绘图过程。对于电力电子电路的分析,使用SIMULINK仿真可以得到更好的效果,这将在后面进行介绍。【例5-4】 单相半波不控整流电路(见图5-5)已知交流电源电压220V ,负载电阻为20。画出交流电源电压、整流输出电压和电流的波形。MATLAB命令窗口键入命令如下:图5-5半波不控整流电路图 %交流电压有效值 第一行 %电阻值 第二行 ; %导通角增量 第三行 %一周期中导通角 第四行 %交流电压 第五行 %整流输出电压 第六行 %整流输出电流 第七行 %画交流电压波形 第八行 %画整流电压电流波形 第九行命令中,1-7行为赋值命令,第8行命令画交流电压电压的波形,回车执行命令,则画出交流电压电压的波形。在该行中使用了hold命令,目的是在画下面波形时,交流电压的波形还会保留,不会被清除掉。执行第9行命令后,电源电压、输出电压和输出电流三条曲线就出现在同一幅图上(见图5-6)。图5-6 半波不控整流电路波形图在图形窗口这三条曲线是以不同颜色来区分的,但是如果将这图形复制到黑白文档上时,有的颜色线条就显示不出来。改变线型和颜色,可以将光标指向曲线,点击右键,进行线条颜色的设置。使用工具栏上的功能键可以添加文字或标注符号对波形进行标注和美化;还可以使用图形窗口Edit 菜单下的Axes Properties 选项,设置X-Y 坐标轴和名称。使其具有更好的可读性。这里不多占篇幅接受,请读者自行练习。5-5 SIMULINK 环境和模型库MATLAB编程仿真是在文本窗口中进行的,编制一行行的命令和MATLAB函数,不直观也难以与实际的物理系统或电路建立形象的联系。而MATLAB 的SIMULINK是很有特色的仿真环境,在此环境中,用户可以用点击拖动鼠标的方式从SIMULINK模型库中抓取所谓的元件或模型块绘制和组织系统或电路,并完成对系统和电路的仿真。在SIMULINK环境中,系统的函数和电路元器件的模型都用模块来表达,模块之间用连线连接,连线表示了信号流动的方向。对用户来说,在SIMULINK环境中只要学习图形界面的使用方法和熟悉模型库的内容,就可以很方便地使用鼠标和键盘进行系统和电路的仿真,而不必去记那些复杂的函数。5.5.1 系统仿真(SIMULINK)环境系统仿真( SIMULINK)环境也称工具箱(Toolbox),是MATLAB最早开发的,它包括SIMULINK仿真平台和系统仿真模型库两部分,主要用于仿真以数学函数和传递函数表达的系统,是20世纪70年代开发的连续系统仿真程序包(CCS) 的继续,现在的系统仿真(SIMULINK)包括了连续系统、非线性系统和离散系统的仿真。由于SIMULINK的仿真平台使用方便、功能强大,后来拓展的其他模型库也都共同使用这个仿真环境,成为MATLAB仿真的公共平台。SIMULINK 是Simulation和Link两个英文单词的缩写,意思是仿真链接,MATLAB模型库都在此环境中使用,从模型库中提取模型放到SIMULINK的仿真平台上进行仿真。所以有关SIMULINK的操作是仿真应用的基础。SIMULINK作为面向系统框图的仿真平台,它具有如下特点:(1)以调用模块代替程序的编写,以模块连成的框图表示系统,点击模块即可以输入模块参数。以框图表示的系统应包括输入(激励源)、输出(观测仪器)和组成系统本身的模块。(2) 画完系统框图,设置好仿真参数,即可启动仿真。这时,会自动完成仿真系统的初始化过程,将系统框图转换为仿真的数学方程,建立仿真的数据结构,并计算系统在给定激励下的响应。(3)系统运行的状态和结果可以通过波形和曲线观察,这和实验室中用示波器观察的效果几乎一致。(4) 系统仿真的数据可以用以.mat为后缀的文件保存,并且可以用其他数据处理软件进行处理。(5) 如果系统框图绘制不完整或仿真过程中出现计算不收敛的情况,会给出一定的出错提示信息,但是这提示不一定准确,这是软件还不够完备的地方。(6) 以框图形式对控制系统进行仿真是SIMULINK的最早功能,后来在SIMULINK的基础上又开发了数字信号处理、通信系统、电力系统、模糊控制等数十种模型库,但是SIMULINK的窗口界面是其他工具箱共用的平台,在此平台上可以进行控制系统、电力系统、通信系统等各种系统的仿真。5.5.2 SIMULINK 的工作环境从MATLAB 窗口进入SIMULINK环境有两种方法: 在MATLAB的工具栏上点击按钮,或者在MATLAB的文本窗口中键入“simulink”后回车,打开的模型库浏览窗口,然后在模型库浏览窗口菜单上点击按钮。完成上述操作之后,屏幕上出现SIMULINK的工作窗口。标题栏为“untitled”,表示一个尚未命名的新文件。如5-7图所示:图中下左为SIMULINK模型库浏览窗口;下右为SIMUUNK工作窗口,即系统仿真平台。在SIMULINK中建立仿真系统时,就是从左边的SIMULINK模型库中用鼠标抓取模块,放到右边SIMUUNK工作窗口即系统仿真平台上,进行连接及参数设置,并对系统进行运行仿真,查看波形。图5-7 进入simulink仿真平台SIMULINK窗口菜单系统File 文件菜单包括:Edit 编辑菜单、View 查看菜单、Simulation仿真功能菜单、Format 模块格式菜单和Tools工具菜单,与目前常用的一些应用软件大同小异,不再逐一进行介绍,应用中比较特殊的命令会在应用内容中进行说明。5.5.3 模型库浏览器模型库是SIMULINK的重要内容,模型库中保存了控制系统中常用的典型环节的模型,在系统仿真时,只要调用这些典型环节就可以很方便地组成系统的仿真模型。SIMULINK工具箱的模型都可以通过模型库浏览器(SIMULINK Library Browser) 来查找。模型库浏览器(Simulink)窗口(见图5-8)。窗口左部的树状目录是各分类模型库的名称。在分类模型库下还有二级子模型库,点击模型库名前带“+ ”的小方块则可展开二级子模型库的目录,点击模型库名前带“-”的小方块则可关闭二级目录。窗口右部为左部选中模块库中所包含的子目录模块(图a)或模块图(b)。 (a) 子模块 (b) Continuous模块图5-8 Simulink Library Browser界面随着SIMULINK 版本的更新,模型库内容在不断地增加, SIMULINK模型库在软件安装时可以选择。MATLAB的工具箱具有极其丰富的内涵,在上图左侧可以看到,整个simulink工具箱是由Simulink(标准模块库)、Aerospace blockset(航空航天系统模块库)、Communications blockset(通信系统模型库)、simpower systems( 电力系统模块库)等等数十个个模块组构成。Simulink在各种专业领域的使用,通常是Simulink标准工具箱与各专业工具箱结合使用进行的。这里结合电力电子的专业特点,主要介绍系统仿真标准工具箱(SIMULINK)和电力系统(Power System Block)两个模块库内所包含的模块。很多模块从名称上就可以看出它的含义和功能,对于常用且参数设置复杂的模块,在后续仿真实例中会以实例的形式进行说明。一、 Simulink(标准工具箱)Simulink(标准工具箱)中包含了Conntinuous, Discontinuities、Discrete、Look-up Tables、Math Operations、Model Verification、Model-Wide Utilities、 PortsSubsystems、Signal Attributes、Signal Routing、Sinks、Sources和Use-Defined functions等模块组。这里选取其中常用模块组和模块进行简述。在电力电子专业中常用的模块组有Continuous、Math operations、Signal Routing、Sinks、sources、Discontinuities等。1. Continuous模块组该模块组包括的主要模块及其图标如图所示,共有八个标准基本模块。图5-9 Continuous模块组及其图标2. Math operations模块组该模块组主要模块及图标如图所示,它共有33个标准基本模块。这里简单列出其中常用的12项。图5-10 Math operations模块组及其图标3. Discontinuities模块组Discontinuities模块组及其图标如附图所示,它包括12个标准基本模块。图5-11 Discontinuities模块组及其图标4.Signal Routing模块组Signal Routing模块组及其图标如图所示,该模块组包含18个标准基本模块。图5-12 Signal Routing模块组及其图标5. Sinks模块组 Sinks模块组及其图标如图所示。它有9个标准基本模块。图5-13 Sinks模块组及其图标6.Sources模块组Sources模块组及其图标如图所示。该模块组有22个标准基本模块。图5-14 Sources模块组及其图标熟悉这些模块组所包含的模块及在工具箱中的位置.将有助于建模时迅速查找到这些模块。二、SimPower System (电力系统)工具箱在该工其箱中有很多模块组,主要有电源(Electrical sources)、元件(Elements)、电力电子(Power Electronics)、电机系统(Machines)、测量(Measurements)附加(Extras)等模块组。点击每一个图标都可打开一个模块组。下面简要介绍常用模块组的内容。1. Electrical sources (电源)模块组电源模块组包括:直流电压源、交流电压源、交流电流源、三相电源、三相可编程电压源、受控电压源和受控电流源等基本模块。电源模块组中各基本模块及其图标如图5-15所示。图5-15 Electrical sources 模块组及其图标2. Measurements(测量)模块组测量模块组包括:电压表、电流表、三相电压-电流表、多用表、阻抗表。各基本模块及其图标如图所示。在MATLAB中没有测量端口m的模块,如需用示波器显示工作波形,则要使用这些测量模块先将所需信号测量出来,然后将测量模块的输出接入到示波器或显示模块中进行显示。图5-16 Measurements模块组及其图标3. Elements (元件)模块组元件模块组包括断路器、各种电阻电容和电感元件的串并联部件及其负载形式,各种变压器元件,地,中点,接口等元件。单个的电阻、电容和电感元件只能通过串联或并联的RLC分支以及它们的负载形式来定义,单个元件的参数设置在串联或并联分支中是不同的,具体设置见表5-9。元件模块组中常用基本模块及其图标如图5-17所示。表5-9 单个电阻、电容、电感元件的参数设置表元 件串 联 RLC 分 支 并 联 RLC 分 支类型电阻数值电感数值电容数值电阻数值电感数值电容数值单个电阻R 0 inf R inf 0单个电感 0 L inf inf L 0单个电容 0 0 C inf inf C 图5-17 Elements 模块组及其图标4. Power Electronics (电力电子)模块组电力电子模块组包括二极管(Diode )、晶闸管(Thyristor)、场效应管(MOSFET)、可关断晶闸管(GTO)、绝缘门极晶体管(IGBT)、理想开关、三电平变流器桥等模块,此外还有一个通用变流器桥。电力电子模块组中各基本模块及其图标如图5-18所示。图5-18 Power Electronics模块组及其图标6. Extras liberary (附加)模块组附加(Extras)模块组是二级子目录,其中包括控制(control blocks)模块组、离散控制(discrete control blocks)模块组、离散测量(discrete measurments)模块组、测量(measurments)模块组和向量(phasor liberary)模块组。这里只列出常用的控制模块组和测量模块组中所含常用模块及其图标。1) control blocks(控制)模块组图5-19 control blocks模块组及其图标2) measurments(测量)模块组图5-20 measurments模块组及其图标以上,我们简要介绍了MATLAB的Simulink(标准工具箱)和SimPower System (电力系统)工具箱所包含的典型模块内容,熟悉各个模块在工具箱中的位置对于搭建所要仿真的电路或系统是非常重要的。三、模块的基本操作当我们把模块库中的模块用鼠标抓取到仿真平台中来搭建仿真电路或系统的过程中,有可能需要对这些模块进行诸如复制、删除、更改名称、旋转、移动、放大、缩小等操作,在模块被选中的情况下,这些操作可以打开仿真平台的Edit(编辑)菜单进行操作。在这里不做进一步的说明。仅对模块的参数设置和模块的连接方法进行简单说明。1. 模块的参数设置SIMULINK模型库里的模块放到仿真窗口之后,在使用前大多数模块都需要对模块的参数进行重新设置。进行参数设置时,只要鼠标左键双击模块,这时就会弹出参数对话窗口,如图5-21所示。图中在仿真平台上有一个传递函数的模块,双击该模块就弹出了模块的对话框,框中上部是模块功能的简要介绍,下面是模块参数设置栏,在设置栏中可以按要求键入参数。如果对参数设置有不清楚的地方,可以使用对话框下方的Help 按钮取得帮助,这时会打开该模块的说明书。参数设好后,点击OK 按钮关闭对话框,模块参数就设置完毕。一般模块的参数设置都在系统的仿真模型画好后一起进行,模块的参数在仿真的进行过程中是不能修改的。图5-21 模块参数设置界面2. 模块的连接使用SIMULINK仿真,系统模型是由多个模块组成的,模块与模块间需要用信号线连接,连接的方法是,将光标箭头指向模块的输出端,对准后光标由箭头变成十字,这时按下鼠标左键拖曳十字到另一个模块的端口,当十字变成“”字(表示连线所连接的两个端口是可以连接的)后松开鼠标左键,在两个模块的输出和输入端之间就出现了带箭头的连线,并且箭头表示了信号的流向。需要注意:如果到达了后边的端口位置十字不能变成“”字,说明该两个模块的这两个端口是不允许连接在一起的,说明模块使用错误。下图为连接好的两个传递函数模块。图5-22 连接好的两个传递函数模块5-6 SIMULINK 的仿真实践基础5.6.1 SIMULINK仿真步骤利用SIMULINK环境仿真一个系统的过程基本上可以分为如下几个步骤:第一步 电路或系统搭建根据要仿真的系统框图或电路图,在SIMULINK窗口的仿真平台上构建仿真模型。此过程要首先打开SIMULINK 窗口和模型浏览器,将需要的各模块提取到仿真平台上,然后将平台上的模块逐一连接,形成仿真的系统框图。注意:一个完整的仿真模型应该至少包括一个源模块( Sources) 和一个输出模块( Sinks)。第二步 设置模块参数模块提取和组成仿真模型后,需要给各个模块按照仿真要求进行赋值,也就是参数设置。这时,用鼠标双击模块图标,弹出模块参数对话框,并在对话框中输入模块参数,输入完成后点击OK按钮,对话框自动关闭,该模块的参数设置完成。第三步 设置仿真参数在对绘制好的模型进行仿真前,还需要确定仿真的步长、时间和选取仿真的算法等,也就是设置仿真参数。设置仿真参数可点击仿真平台窗口的菜单上的Simulation,在下拉的子菜单中点击Simulation Parameters(仿真参数,注意它与模块参数不是一个概念)命令或用键盘中的Ctrl+E键。这时弹出仿真参数设置对话框如图所示。对话框中左部有Solver(仿真解算器)、Data Import/Export(数据输入/输出)、Optimization(优化)、Diagnostics(诊断)等多项内容,点击这些选项,则在界面的右部同步显示该项中所要设置的参数的设置页面。对话框默认的打开界面是微分方程求解程序解算器“Solver”,如图5-23所示。用户可以从中填写相应的数据,修改各参数,已达到仿真要求。图5-23 仿真参数设置界面第四步 启动仿真。在模块参数和仿真参数设置完毕后即可以开始仿真,在Simulation菜单的子菜单中点击Start 或用键盘中的Ctrl+T 键即可进入仿真,更简单的方法是使用工具栏上的按钮。图5-24 启动仿真按钮在模型的计算过程中,窗口下方的状态栏会提示计算的进程,对简单的模型这仅在一瞬间就完成了。在仿真计算中途,如果要修改模块参数或仿真时间等,则可以用Simulation 菜单中的Pause命令或按钮“”暂停仿真。暂停之后要恢复仿真,则再次点击按钮“ 仿真就可以继续进行下去。如果中途要结束仿真可以点击按钮或使用Simulation菜单中的Stop 命令来终止仿真。5-25 启动、暂停、停止仿真第五步 观测仿真结果。在模型仿真计算完毕后重要的是从输出模块( Sinks)中观测仿真的结果。前面提到过,在任何一个Simulink仿真模型中,至少要包含一个Source和一个Sink模块,仿真完成后,可以点击Sink模块观察波形或数据。在使用MATLAB Simulink进行仿真的过程中,出了模块参数的设置以外,仿真参数的设置的是否合适、波形的处理是否到位,对于仿真结果是有着明显的影响的,下面分别对仿真参数设置和波形的处理进行说明。5.6.2 仿真参数的设置仿真参数的设置界面如图5-23所示,其中Solver、Data Import/Export项的设置与仿真及仿真数据的处理密切相关,下面主要对这两类的参数设置进行说明:一、Solver(解算器)的参数设置解算器(Solver)标签页的参数设置是仿真工作必须的步骤,如何设定参数,要根据具体问题的要求而定。Solver的标签页包括“Simulation time”(仿真时间)、“Solver options”(解算器选项)和“Solver diagnostic controls”(解算器诊断控制)三组参数设置:1)“Simulation time”栏为仿真时间设置栏此栏设置项在仿真之前必须进行修改和确认。“Start time”仿真的起始时间。“Stop time”仿真的停止时间,单位为秒。连续系统中仿真时间一般从零开始,可以先预设一个仿真的终止时间,在仿真过程如果预设的时间不足,可以即时修改。2)“Solver options”仿真算法设置栏“type”栏下用下拉选择框中可选变步长算法(Variable-step)或者固定步长算法(Fix-step),在确定了“type”栏算法类型之后,在“Solver”下拉选项中确定具体的算法。Simulink仿真必然涉及微分方程组的数值求解,由于控制系统的多样性,没有哪一种仿真算法是万能的。为此MATLAB中提供了变步长和固定步长两大类计算方法,用户须针对不同类型的仿真模型,按照各种算法的特点、仿真性能与适应范围,正确选择算法,并确定适当的仿真参数,以得到最佳的仿真结果。采用试探的方法选择算法。Variable-step可变步长类型算法:可以让程序修正每次仿真计算的步长大小。属于Variable-step的仿真算法有:ode45, ode23, ode113, odel5s, ode23s,ade23t, ode23tb以及discrete。Fix-step固定步长类型算法:属于Fix-step的仿真算法有:ode5、ode4、ode3、ode2、ode1,另有discrete(Fix-step)是不含积分运算的定步长方法,适用于求解非连续状态的系统模型问题。图5-26a为固定步长算法下的Solver设置页,图5-26b为变步长算法下Solver设置页。a)固定步长算法设置b)变步长算法设置图5-26 仿真算法设置界面在固定步长算法下包含的设定项有:“Fixed step size”只能为“auto”。“Mode”栏为选择模型的类型,该栏有三个选项:“Multi Tasking”指模型中有些模块具有不同的采样速率,需对模块之间采样速率的变化进行检测;“Single Tas
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 开学第一课适应开学主题心理健康课
- 心型班组文化建设
- 情感的抒发与理念的表达
- 体验营销在广告中的创新应用试题及答案
- 棉织物的舒适性研究与检验试题及答案
- 2024年设计理念的多样性国际商业美术设计师考试试题及答案
- 人性模拟测试题及答案
- 2024年设计师的个人品牌建立试题及答案
- 助理广告师考试重难点的分级攻略试题及答案
- 创意广告设计的评估标准分析试题及答案
- 水利项目立项报告
- 幼儿园初级保育员考试题库(附答案)
- 【MOOC】航空燃气涡轮发动机结构设计-北京航空航天大学 中国大学慕课MOOC答案
- 家政服务人员岗前培训
- 国家生物安全培训课件
- 专题11 名著阅读之《童年》(考题猜想)(期中真题速递20题)(含答案解析)
- TSGD7002-2023-压力管道元件型式试验规则
- 无人机组装与调试 课件全套 项目1-3 无人机组装调试基础、多旋翼无人机组装与调试、垂直起降无人机组装调试
- (完整版)第八章财务报表分析习题及答案
- 民间借贷利息计算表
- 2024年浙江省中考数学试题及答案
评论
0/150
提交评论