版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于matlab/simulink的电力变换电路仿真学生姓名:学 号:专业班级:指导教师: 2008年6月20日摘 要matlab是一种科学计算软件,它是一种以矩阵为基础的交互式程序计算语言。simulink是基于框图的仿真平台,它挂接在matlab环境上,以matlab的强大计算功能为基础,以直观的模块框图进行仿真和计算。本文主要以matlab/simulink仿真软件为基础,完成了对整流电路、斩波电路和交流调压电路的建模与仿真,并且给出了仿真结果波形,同时根据仿真结果进行了分析和计算。证实了该方法的简便直观、高效快捷和真实准确性。本研究还设计并建立了图形用户界面(gui),以方便打开各个仿
2、真模型。 关键词:matlab/simulink;建模;仿真;整流电路;斩波电路;交流调压电路abstractmatlab is a soft ware for scientific computation, which is a matrix-based interactive language for programming and calculating. simulink is a simulation platform based on block diagram, which articulates in the matlab environment and is based on
3、 the powerful computing capabilities. simulink completes the simulation and calculation using the intuitionist block diagram. this paper mainly introduces the modeling and simulating of the rectifier circuit, chopper circuit and ac voltage-modulating circuit, based on matlab /simulink simulation sof
4、tware, and the waves of simulating result and the analog and calculation of the waves is discussed, which all show the simplicity, intuition, efficiency, quickness, and the accuracy of this method.this study also design and build a graphical user interface (gui) for opening the simulation model easi
5、ly.keywords: matlab/simulink; modeling; simulation rectifier circuit; chopper circuit; ac voltage-modulating circuit目 录第1章 前言11.1 matlab/simulink仿真的目的与意义11.2 本课题的研究内容11.3本课题的研究意义2第2章 matlab/simulik基础知识32.1 matlab介绍3 21.1 matlab的主要组成部分42.1.2 matlab的系统开发环境42.2 simulink仿真基础6 2.2.1 simulin启动72.2.2 simul
6、ink的模块库介绍72.2.3 电力系统模块库的介绍7 2.2.4 simulink简单模型的建立9 2.2.5 simulink功能模块的处理9 2.2.6 simulink线的处理11 2.2.7 simulink仿真的运行112.3 matlab的gui程序设计15 2.3.1控件对象及属性15 2.3.2 gui开发环境16 2.3.3 gui程序设计17第3章 整流电路的仿真193.1 单相整流电路的仿真193.1.1 单相半波可控整流电路193.1.2 单相桥式可控整流电路213.2 三相整流电路的仿真23 3.2.1 三相半波可控整流电路24 3.2.2 三相桥式全控整流电路26
7、第4章 直流斩波电路的仿真31 4.1降压斩波电路31 4.2升压斩波电路34第5章 三相交流调压器的仿真37 5.1 三相交流调压器仿真基础37 5.2 无中线星型联结调压器39 5.3 支路控制三角形联结调压器40第6章 结论42致谢43参考文献44第1章 前 言1.1 matlab/simulink仿真的目的与意义在电力电子电路如变流装置的设计过程中,需要对设计出来的初步方案(电路)及有关元件参数选择是否合理,效果如何进行验证。如果通过实验来检验,就要将设计的系统用元件安装出来再进行调试和试验,不能满足要求时,要更换元件甚至要重新设计、安装、调试,往往要反复多次才能得到满意的结果。这样将
8、耗费大量的人力和物力,且使设计效率低下、耗资大、周期长。采用计算机进行仿真试验,则可大大地节约开支,提高设计效率,缩短设计周期。但是用其它计算机高级语言(如 c语言,basic语言或仿真语言)编程实现,对电力变流电路来说,由于大功率开关器件开关转换电流换相动态过程十分复杂,过渡过程一个接一个,一个未完,新的一个又开始了要分析输出电压、电流(带感性负载时)波形,特别是如大功率开关管关断时承受的尖峰电压大小形状,即阻容保护电路的保护效果如何,就要建立等效电路的数学模型。而这样的数学模型是很复杂的,即使建立起来了,用计算机编程实现得到真实的仿真结果也需要花大量的时间精力来编程和调试。然而采 matl
9、ab/simulink可视化图形化仿真环境来对电力电子电路进行建模仿真则可使之变得直观,简单易行,效率高,真实准确1。1.2 本课题的研究内容本课题主要研究的是利用matlab/simulink建立电力电子电路仿真模型并进行仿真。现将仿真的主要内容加以介绍:单相整流电路和三相整流电路主要研究其半波可控和桥式全控整流电路,分别建立其simulink仿真模型,进行系统仿真,对其仿真波形进行对比分析,并与理论结果进行对比。 直流斩波电路用于调整直流电的电压,它有多种类型,这里主要对降压(buck)变流器、升压(boost)变流器进行建模仿真,根据其降压和升压要求设计,确定电容电感值,并通过仿真结果来
10、确认设计效果。三相交流调压器有星型连接和三角形联结的多种方案。其中星型联结又有无中线和有中线两种电路,三角形联结有线路控制,支路控制和中点控制的不同电路。这里主要研究两种常用的无中线星形联结和支路控制三角形联结线路,建立其simulink模型,分别对其电阻负载和电感负载在不同触发角度时进行仿真,分析其仿真波形。1.3 本课题的研究意义利用simulink中的模块库建立单相/三相整流、直流斩波、三相交流调压等电力变换电路,进行仿真后,对仿真波形进行比较分析。证实了该方法的简便直观、高效快捷和真实准确性。由于计算机中修改参数方便,可以通过改变方针参数就可观察各种现象,加深了对其电路原理的理解。通过
11、对本课题的研究最终能够熟悉并掌握matlab /simulink的应用环境,熟练应用simulink模块库中模块建立电力电子电路的系统仿真模型,设定系统仿真参数,进行系统仿真。第2章 matlab/simulink基础知识2.1 matlab介绍matlab(matrix laboratory)是美国 mathworks公司开发的一套高性能的数值分析和计算软件,用于概念设计,算法开发,建模仿真,实时实现的理想的集成环境,是目前最好的科学计算类软件之一。matlab将矩阵运算、数值分析、图形处理、编程技术结合在一起,为用户提供了一个强有力的科学及工程问题的分析计算和程序设计工具,它还提供了专业水
12、平的符号计算、文字处理、可视化建模仿真和实时控制等功能,是具有全部语言功能和特征的新一代软件开发平台。matlab已发展成为适合众多学科,多种工作平台、功能强大的大型软件。在欧美等国家的高校,matlab已成为线性代数、自动控制理论、数理统计、数字信号处理、时间序列分析、动态系统仿真等高级课程的基本教学工具。成为攻读学位的本科、硕士、博士生必须掌握的基本技能。在设计研究单位和工业开发部门,matlab被广泛的应用于研究和解决各种具体问题。在中国,matlab也已日益受到重视,短时间内就将盛行起来,因为无论哪个学科或工程领域都可以从matlab中找到合适的功能2。2.1.1 matlab的主要组
13、成部分matlab系统由5个主要的部分构成:(1) 开发环境(development environment):微matlab用户或程序编制员提供的一套应用工具和设施。由一组图形化用户接口工具和组件集成:包括matlab桌面、命令窗口、命令历史窗口、编辑调试窗口及帮助信息、工作空间、文件和搜索路径等浏览器。(2) matlab数学函数库(math function library):数学和分析功能在matlab工具箱中被组织成8个文件夹。 elmat 初步矩阵,和矩阵操作。 elfun 初步的数学函数。求和、正弦、余弦和复数运算等 specfun 特殊的数学函数。矩阵求逆、矩阵特征值、贝塞尔函
14、数等; matfun 矩阵函数用数字表示的线性代数。 atafun 数据分析和傅立叶变换。 polyfun 插值,多项式。 funfun 功能函数。 sparfun 稀疏矩阵。 (3) matlab语言:(matlab language)一种高级编程语言(高阶的矩阵/数组语言),包括控制流的描述、函数、数据结构、输入输出及面对对象编程;(4) 句柄图形:(handle graphics) matlab制图系统具有2维、三维的数据可视化,图象处理,动画片制作和表示图形功能。可以对各种图形对象进行更为细腻的修饰和控制。允许你建造完整的图形用户界面(gui),以及建立完整的图形界面的应用程序。制图法
15、功能在matlab工具箱中被组织成5个文件夹:二维数图表(graph2d)、三维图表(graph3d)专业化图表(specgraph)、制图法(graphics)、图形用户界面工具(uitools)。(5) 应用程序接口:(applied function interface) matlab的应用程序接口允许用户使用c或fortran语言编写程序与matlab连接。2.1.2 matlab的系统开发环境(system developing environment)1操作桌面(operating desktop)(1)桌面布局:6个窗口命令窗口(commend window)、工作空间窗口(wo
16、rkspace)、当前目录浏览器(current directory )、命令历史窗口( commend history )、启动平台 (launch pad)、帮助窗口(help)、m文件优化器(profiler)。(2)菜单和工具栏;(menu and toolbar) 操作桌面上有6个菜单和带有9个快捷按钮的工具栏组。(3)改变桌面设置:(setting) file 菜单中preference对话框中设置。2命令窗口:(command window)matlab的主要交互窗口。用于输入matlab 命令、函数、数组、表达式等信息,并显示图形以外的所有计算结果。还可在命令窗口输入最后一次输
17、入命令的开头字符或字符串,然后用键调出该命令行。3工作空间窗口:(workspace window) 用于储存各种变量和结果的空间,显示变量的名称、大小、字节数及数据类型,对变量进行观察、编辑、保存和删除。临时变量不占空间。为了对变量的内容进行观察、编辑与修改,可以用三种方法打开内存数组编辑器。双击变量名;选择该窗口工具栏上的打开图标;鼠标指向变量名,点击鼠标右键,弹出选择菜单,然后选项操作。欲查看工作空间的情况,可以在命令窗口键入命令whos(显示存在工作空间全部变量的名称、大小、数据类型等信息)或命令who(只显示变量名)。4当前目录浏览器:(current directory)用于显示及
18、设置当前工作目录,同时显示当前工作目录下的文件名、文件类型及目录的修改时间等信息。只有在当前目录或搜索路径下的文件及函数可以被运行或调用。设置当前目录可以在浏览器窗口左上角的输入栏中直接输入,或点击浏览器下拉按钮进行选择。还可用cd命令在命令窗口设置当前目录,如:cd c:mydir 可将c盘上的mydir目录设为当前工作目录。5命令历史窗口:(command history)记录已运行过的matlab命令历史,包括已运行过的命令、函数、表达式等信息,可进行命令历史的查找、检查等工作,也可以在该窗口中进行命令复制与重运行。6启动平台:(launch pad)帮助用户方便地打开和调用matlab
19、 的各种程序、函数和帮助文件。平台列出了系统中安装的所有的matlab产品的目录,可以通过双击来启动相应的选项。7matlab 的搜索路径:(searching path)matlab定义的一系列文件路径的组合,缺省状态下包括当前路径和已安装的全部工具箱的路径。搜索目录的设置通过选择主菜单set path菜单项进行。用add folder按钮可以将某一目录加入搜索路径,选择add with subfolder按钮可将选中目录的子目录也包括在搜索路径中。8内存数组编辑器:(array editor)提供对数值型或字符型二维数组的显示和编辑功能,对其他数据类型都不能编辑。通过工作空间窗口打开所选的
20、变量时,该编辑器启动。2.2 simulink仿真基础simulink是matlab软件的扩展,它是实现动态系统建模和仿真的一个软件包,它与matlab语言的主要区别在于,其与用户交互接口是基于windows的模型化图形输入,其结果是使得用户可以把更多的精力投入到系统模型的构建,而非语言的编程上3。1所谓模型化图形输入是指simulink提供了一些按功能分类的基本的系统模块,用户只需要知道这些模块的输入输出及模块的功能,而不必考察模块内部是如何实现的,通过对这些基本模块的调用,再将它们连接起来就可以构成所需要的系统模型(以.mdl文件进行存取),进而进行仿真与分析。2simulink可将系统分
21、为从高级到低级的几个层次,每层又可以细分为几个部分,每层系统构建完成后,将各层连接起来构成一个完整系统。模型创建完成后,可以启动系统的仿真功能分析系统的动态特性,其内置的分析工具包括各种仿真算法、系统线性化、寻求平衡点等。仿真结果可以以图形方式在示波器窗口显示,也可将输出结果以变量形式保存起来,并输入到matlab中以完成进一步的分析。3. simulink可以仿真线性和非线性系统,并能创建连续时间、离散时间或二者混合的系统。支持多采样频率系统。2.2.1 simulink启动在matlab命令窗口中输入simulink,结果是在桌面上出现一个称为simulink library browse
22、r的窗口,在这个窗口中列出了按功能分类的各种模块的名称。也可以通过matlab主窗口的快捷按钮来打开simulink library browser窗口。2.2.2 simulink的模块库介绍整个simulink模块库是由各个模块组构成,标准的simulink模块库中,包括:信号源模块组(source)、仪器仪表模块组(sinks)、连续模块组( continuous)、离散模块组(discrete)、数学运算模块组(math)、非线性模块组(nonlinear)、函数与表格模块组(function&tables )、信号与系统模块组(signals&systems)和子系统模块组(subs
23、ystems)几个部分,此外还有和各个工具相与模块集之间的联系构成的子模块组,用户还可以将自己编写的模块组挂靠到整个模型库浏览器下。2.2.3 电力系统模块库的介绍进入matlab系统后打开模块库浏览窗口,用鼠标左键双击其中的power system blocks即可弹出电力系统工具箱模块库,它包括连接元件库(connectors),电源库(electrical sources),基本元件库(elements),元件库(extra library),电机元件库(machines),测量元件库(measurements)和电力电子元件库(power electronics)。这些模块库包含了大多
24、数常用电力系统元件的模块。利用这些库模块及其它库模块,用户可方便、直观地建立各种系统模型并进行仿真。(1)电路元件模型 该部分包括断路器(breaker)、分布参数线(distribute parameter line)、线性变压器(linear transformer)、并联rlc负荷(parallel rlc load),ii型线路参数(ii section line)、饱和变压器(saturable transformer)、串联rlc支路(series rlc branch)、串联rlc负荷(series rlc load)、过电压自动装置(surge arrester)。这部分可以仿
25、真交流输电线装置。 (2)电力电子设备模型此部分含有二极管(diode)、gt0、理想开关(ideal switch)、mos管(mosfet)、可控晶闸管(thyristor)的仿真模型。这些设备模型不仅可以单独进行仿真而且可以组合在一起仿真整流电路等直流输变电的电力电子设备。(3)电机设备模型此部分有异步电动机(asynchronous machine)、励磁系统(excitation system)、水轮电机及其监测系统(hydraulic turbine and governor(htg)、永磁同步电机(permanent magnet synchronous machine)、简化的
26、同步电机(simplified synchronous machine)、同步电机(synchronous machine)。这些模型可以仿真电力系统中发电机设备,电力拖动设备等。 (4)接线设备模型 这一部分包括一些电力系统中常用的接线设备。如接地设备、输电线母线等。(5)测量设备模型该部分模型是用来采集线路的电压或电流值的电压表和电流表。这 一部分还起着连接simulink模型与powerlib模型的作用。 (6)powerlib扩展库扩展模块组包含了上述各个模块组中的各个附加子模块组用户可以根据自己的电力系统结构图使用powerlib和slmulink中相应的模型来组成仿真的电路模型。2
27、.2.4 simulink简单模型的建立1简单模型的建立(1)建立模型窗口。(2)将功能模块由模块库窗口复制到模型窗口。(3)对模块进行连接,从而构成需要的系统模型。2模型的特点(1)在simulink里提供了许多如scope的接收器模块,这使得用simulnk进行仿真具有像做实验一般的图形化显示效果。(2)imulink的模型具有层次性,通过底层子系统可以构建上层母系统。(3)simulink提供了对子系统进行封装的功能,用户可以自定义子系统的图标和设置参数对话框。2.2.5 simulink功能模块的处理功能模块的基本操作,包括模块的移动、复制、删除、转向、改变大小、模块命名、颜色设定、参
28、数设定、属性设定、模块输入输出信号等。1模块库中的模块可以直接用鼠标进行拖曳(选中模块,按住鼠标左键不放)而放到模型窗口中进行处理。2在模型窗口中,选中模块,则其4个角会出现黑色标记。此时可以对模块进行以下的基本操作。(1)移动:选中模块,按住鼠标左键将其拖曳到所需的位置即可。若要脱离线而移动,可按住shift键,再进行拖曳。(2)复制:选中模块,然后按住鼠标右键进行拖曳即可复制同样的一个功能模块。(3)删除:选中模块,按delete键即可。若要删除多个模块,可以同时按住shift键,再用鼠标选中多个模块,按delete键即可。也可以用鼠标选取某区域,再按delete键就可以把该区域中的所有模
29、块和线等全部删除。(4)转向:为了能够顺序连接功能模块的输入和输出端,功能模块有时需要转向。在菜单format中选择flip block旋转180度,选择rotate block顺时针旋转90度。或者直接按ctrl+f键执行flip block,按ctrl+r键执行rotate block。(5)改变大小:选中模块,对模块出现的4个黑色标记进行拖曳即可。(6)模块命名:先用鼠标在需要更改的名称上单击一下,然后直接更改即可。名称在功能模块上的位置也可以变换180度,可以用format菜单中的flip name来实现,也可以直接通过鼠标进行拖曳。hide name可以隐藏模块名称。(7)颜色设定:
30、format菜单中的foreground color可以改变模块的前景颜色,background color可以改变模块的背景颜色;而模型窗口的颜色可以通过screen color来改变。(8)参数设定:用鼠标双击模块,就可以进入模块的参数设定窗口,从而对模块进行参数设定。参数设定窗口包含了该模块的基本功能帮助,为获得更详尽的帮助,可以点击其上的help按钮。通过对模块的参数设定,就可以获得需要的功能模块。(9)属性设定:选中模块,打开edit菜单的block properties可以对模块进行属性设定。包括description属性、 priority优先级属性、tag属性、open fun
31、ction属性、attributes format string属性。其中open function属性是一个很有用的属性,通过它指定一个函数名,则当该模块被双击之后,simulink就会调用该函数执行,这种函数在matlab中称为回调函数。(10)模块的输入输出信号:模块处理的信号包括标量信号和向量信号;标量信号是一种单一信号,而向量信号为一种复合信号,是多个信号的集合,它对应着系统中几条连线的合成。缺省情况下,大多数模块的输出都为标量信号,对于输入信号,模块都具有一种“智能”的识别功能,能自动进行匹配。某些模块通过对参数的设定,可以使模块输出向量信号。2.2.6 simulink线的处理s
32、imulink模型的构建是通过用线将各种功能模块进行连接而构成的。用鼠标可以在功能模块的输入与输出端之间直接连线。所画的线可以改变粗细、设定标签,也可以把线折弯、分支。1改变粗细:线所以有粗细是因为线引出的信号可以是标量信号或向量信号,当选中format菜单下的wide vector lines时,线的粗细会根据线所引出的信号是标量还是向量而改变,如果信号为标量则为细线,若为向量则为粗线。选中vector line widths则可以显示出向量引出线的宽度,即向量信号由多少个单一信号合成。2设定标签:只要在线上双击鼠标,即可输入该线的说明标签。也可以通过选中线,然后打开edit菜单下的sign
33、al properties进行设定,其中signal name属性的作用是标明信号的名称,设置这个名称反映在模型上的直接效果就是与该信号有关的端口相连的所有直线附近都会出现写有信号名称的标签。3线的折弯:按住shift键,再用鼠标在要折弯的线处单击一下,就会出现圆圈,表示折点,利用折点就可以改变线的形状。4线的分支:按住鼠标右键,在需要分支的地方拉出即可以。或者按住ctrl键,并在要建立分支的地方用鼠标拉出即可。2.2.7 simulink仿真的运行构建好一个系统的模型之后,接下来的事情就是运行模型,得出仿真结果。运行一个仿真的完整过程分成三个步骤:设置仿真参数,启动仿真和仿真结果分析。1设置
34、仿真参数和选择解法器设置仿真参数和选择解法器,选择simulation菜单下的parameters命令,就会弹出一个仿真参数对话框,它主要用三个页面来管理仿真的参数。solver页,它允许用户设置仿真的开始和结束时间,选择解法器,说明解法器参数及选择一些输出选项。workspace i/o页,作用是管理模型从matlab工作空间的输入和对它的输出。diagnostics页,允许用户选择simulink在仿真中显示的警告信息的等级。(1)solver页此页可以进行的设置有:选择仿真开始和结束的时间;选择解法器,并设定它的参数;选择输出项。 仿真时间:注意这里的时间概念与真实的时间并不一样,只是计
35、算机仿真中对时间的一种表示,比如10秒的仿真时间,如果采样步长定为0.1,则需要执行100步,若把步长减小,则采样点数增加,那么实际的执行时间就会增加。一般仿真开始时间设为0,而结束时间视不同的因素而选择。总的说来,执行一次仿真要耗费的时间依赖于很多因素,包括模型的复杂程度、解法器及其步长的选择、计算机时钟的速度等等。 仿真步长模式:用户在type后面的第一个下拉选项框中指定仿真的步长选取方式,可供选择的有variable-step(变步长)和fixed-step(固定步长)方式。变步长模式可以在仿真的过程中改变步长,提供误差控制和过零检测。固定步长模式在仿真过程中提供固定的步长,不提供误差控
36、制和过零检测。用户还可以在第二个下拉选项框中选择对应模式下仿真所采用的算法。变步长模式解法器有:ode45,ode23,ode113,ode15s,ode23s,ode23t,ode23tb和discrete。a) ode45:缺省值,四/五阶龙格库塔法,适用于大多数连续或离散系统,但不适用于刚性(stiff)系统。它是单步解法器,也就是,在计算y(tn)时,它仅需要最近处理时刻的结果y(tn-1)。一般来说,面对一个仿真问题最好是首先试试ode45。b) ode23:二/三阶龙格库塔法,它在误差限要求不高和求解的问题不太难的情况下,可能会比ode45更有效。也是一个单步解法器。c) ode1
37、13:是一种阶数可变的解法器,它在误差容许要求严格的情况下通常比ode45有效。ode113是一种多步解法器,也就是在计算当前时刻输出时,它需要以前多个时刻的解。d) ode15s:是一种基于数字微分公式的解法器(ndfs)。也是一种多步解法器。适用于刚性系统,当用户估计要解决的问题是比较困难的,或者不能使用ode45,或者即使使用效果也不好,就可以用ode15s。e) ode23s:它是一种单步解法器,专门应用于刚性系统,在弱误差允许下的效果好于ode15s。它能解决某些ode15s所不能有效解决的stiff问题。f) ode23t:是梯形规则的一种自由插值实现。这种解法器适用于求解适度st
38、iff的问题而用户又需要一个无数字振荡的解法器的情况。g) ode23tb:是tr-bdf2的一种实现, tr-bdf2 是具有两个阶段的隐式龙格库塔公式。h) discrete:当simulink检查到模型没有连续状态时使用它。固定步长模式解法器有:ode5,ode4,ode3,ode2,ode1和discrete。i) ode5:缺省值,是ode45的固定步长版本,适用于大多数连续或离散系统,不适用于刚性系统。j) ode4:四阶龙格库塔法,具有一定的计算精度。k) ode3:固定步长的二/三阶龙格库塔法。l) ode2:改进的欧拉法。m) ode1:欧拉法。n) discrete:是一个
39、实现积分的固定步长解法器,它适合于离散无连续状态的系统。 步长参数:对于变步长模式,用户可以设置最大的和推荐的初始步长参数,缺省情况下,步长自动地确定,它由值auto表示。a) maximum step size(最大步长参数):它决定了解法器能够使用的最大时间步长,它的缺省值为“仿真时间/50”,即整个仿真过程中至少取50个取样点,但这样的取法对于仿真时间较长的系统则可能带来取样点过于稀疏,而使仿真结果失真。一般建议对于仿真时间不超过15s的采用默认值即可,对于超过15s的每秒至少保证5个采样点,对于超过100s的,每秒至少保证3个采样点。b) initial step size(初始步长参
40、数):一般建议使用“auto”默认值即可。 仿真精度的定义(对于变步长模式)a) relative tolerance(相对误差):它是指误差相对于状态的值,是一个百分比,缺省值为1e-3,表示状态的计算值要精确到0.1%。b) absolute tolerance(绝对误差):表示误差值的门限,或者是说在状态值为零的情况下,可以接受的误差。如果它被设成了auto,那么simulink为每一个状态设置初始绝对误差为1e-6。2启动仿真设置仿真参数和选择解法器之后,就可以启动仿真而运行。选择simulink菜单下的start选项来启动仿真,如果模型中有些参数没有定义,则会出现错误信息提示框。如果
41、一切设置无误,则开始仿真运行,结束时系统会发出一鸣叫声。2.3 matlab的gui程序设计gui(graphical user interfaces):由各种图形对象组成的用户界面,在这种用户界面下,用户的命令和对程序的控制是通过“选择”各种图形对象来实现的。基本图形对象分为控件对象和用户界面菜单对象,简称控件和菜单。2.3.1 控件对象及属性1gui控件对象类型(the mode of controller object)控件对象是事件响应的图形界面对象。当某一事件发生时,应用程序会做出响应并执行某些预定的功能子程序(callback)。2控件对象的描述(description of co
42、ntroller object) matlab中的控件大致可分为两种,一种为动作控件,鼠标点击这些控件时会产生相应的响应。一种为静态控件,是一种不产生响应的控件,如文本框等。 每种控件都有一些可以设置的参数,用于表现控件的外形、功能及效果,既属性。属性由两部分组成:属性名和属性值,它们必须是成对出现的。(1)按钮(push buttons):执行某种预定的功能或操作。(2)开关按钮(toggle button):产生一个动作并指示一个二进制状态(开或关),当鼠点击它时按钮将下陷,并执行callback(回调函数)中指定的内容,再次点击,按钮复原,并再次执行callback 中的内容。 (3)单
43、选框(radio button):单个的单选框用来在两种状态之间切换,多个单选框组成一个单选框组时,用户只能在一组状态中选择单一的状态,或称为单选项。(4)复选框(check boxes):单个的复选框用来在两种状态之间切换,多个复选框组成一个复选框组时,可使用户在一组状态中作组合式的选择,或称为多选项。(5)文本编辑器(editable texts):用来使用键盘输入字符串的值,可以对编辑框中的内容进行编辑、删除和替换等操作。 (6)静态文本框(static texts):仅仅用于显示单行的说明文字。(7)滚动条(slider): 可输入指定范围的数量值。(8)边框(frames):在图形窗
44、口圈出一块区域。(9)列表框(list boxes):在其中定义一系列可供选择的字符串。(10)弹出式菜单(popup menus): 让用户从一列菜单项中选择一项作为参数输入。(11)坐标轴(axes): 用于显示图形和图象。3控件对象的属性(attributes of controller object) 用户可以在创建控件对象时,设定其属性值,未指定时将使用系统缺省值。 两大类控件对象属性:第一类是所有控件对象都具有的公共属性,第二类是控件对象作为图形对象所具有的属性。2.3.2 gui开发环境(gui development environment, guide)matlab提供了一套
45、可视化的创建图形窗口的工具,使用用户界面开发环境可方便的创建gui应用程序, 它可以根据用户设计的gui布局,自动生成m文件的框架,用户使用这一框架编制自己的应用程序。matlab提供了一套可视化的创建图形用户接口(gui)的工具,包括:1布局编辑器(layout editor)-在图形窗口中加入及安排对象。布局编辑器是可以启动用户界面的控制面板,上述工具都必须从布局编辑器中访问,用guide命令可以启动,或在启动平台窗口中选择guide来启动布局编辑器。2几何排列工具(alignment tool)-调整各对象相互之间的几何关系和位置3属性编辑器(property inspector)-查询
46、并设置属性值4对象浏览器object browser)-用于获得当前matlab图形用户界面程序中所有的全部对象信息,对象的类型,同时显示控件的名称和标识,在控件上双击鼠标可以打开该控件的属性编辑器。5菜单编辑器(menu editor)-建立窗口菜单条的菜单和任何构成布局的弹出菜单 在matlab中, gui的设计是以 m文件的编程形式实现的,gui的布局代码存储在m文件和mat文件中,而在matlab6中有了很大的改变,matlab6将gui的布局代码存储在 fig文件中,同时还产生一个m文件用于存储调用函数,在m文件中不再包含gui的布局代码,在开发应用程序时代码量大大减少。2.3.3
47、gui程序设计(gui program design)包括图形界面的设计和功能设计两个方面设计一个简单的用户图形界面用于所设计的各种仿真电路的打开1设计步骤: (1)在布局编辑器中布置控件。(2)使用几何位置排列工具对控件的位置进行调整。(3)设计控件的属性。(4)设置其他绘图属性。2设置控件的标识(set the tag of controller) 控件的标识(tag)是对于各控件的识别,每个控件载创建时都会由开发环境自动产生一个标识,在程序设计中,为了编辑、记忆和维护的方便,一般为控件设置一个新的标识。3编写代码(edit code)gui图形界面的功能,还是要通过一定的设计思路和计算方
48、法,由特定的程序来实现。为了实现程序的功能,还需要在运行程序前编写一些代码,完成程序中变量的赋值、输入输出、计算及绘图等工作。4. 设计图形界面图形及所需程序如下:图2-1 gui图形界面部分程序如下:function popupmenu1_callback(hobject, eventdata, handles)val=get(handles.popupmenu1,value);switch valcase 1 open a case 2 open abb case 3 open ab end第3章 整流电路的仿真整流电路:出现最早的电力电子电路,将交流电变为直流电,电路形式多种多样,本章主要对单相和三相整流电路进行模拟方针,并对其波形进行分析4。3.1 单相整流电路的仿真3.1.1 单相半波可控整流电路单相桥式半控整流电路原理图(图3-1)所示,电路由交流电源、整流变压器t、晶闸管vt、负载电阻r以及触发电
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工作总结之工务段实习总结
- 工作总结之电力机车实习总结
- 电工电子技术(第3版) 课件 5.3.2 三极管放大电路静态分析
- 银行合规管理流程制度
- 采购团队绩效评估与激励机制制度
- 《改善肩膀背部痠痛》课件
- 函数的奇偶性和单调性-课件
- 【培训课件】职业生涯规划的基本概念
- 讲文明树新风演讲稿例文(32篇)
- 电气设备管理制度
- 2024-2025学年人教版生物学八年级上册期末复习练习题(含答案)
- 山东省济南市2023-2024学年高一上学期1月期末考试 物理 含答案
- 2024二十届三中全会知识竞赛题库及答案
- 成人重症患者人工气道湿化护理专家共识 解读
- 机器学习(山东联盟)智慧树知到期末考试答案章节答案2024年山东财经大学
- 科研设计及研究生论文撰写智慧树知到期末考试答案章节答案2024年浙江中医药大学
- 商业伦理与企业社会责任(山东财经大学)智慧树知到期末考试答案章节答案2024年山东财经大学
- 2024年辅警招聘考试试题库及完整答案(全优)
- 美国史智慧树知到期末考试答案2024年
- 2024年江苏省普通高中学业水平测试小高考生物、地理、历史、政治试卷及答案(综合版)
- 学校工会范文教代会换届选举方案
评论
0/150
提交评论