Simulink模糊控制教程

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

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

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

资源描述

1MATLAB应用技术清华大学出版社MATLAB应用技术26MATLAB与模糊控制系统MATLAB应用技术36.1模糊系统的MATLAB实现6.1.1模糊集简介模糊集是一种边界不分明的集合,模糊集与普通集合既有区别又有联系。2模糊集的表示1模糊概念Xx]01[)(xA模糊集菜用隶属度来表示,论域X上的一个模糊集A,对于任意,都指定了一个数,叫做x对A的隶属程度称做A的隶属函数。隶属度函数有以下11种:(1)高斯型隶属度函数222)(),,(cxecxf(2)双侧高斯型隶属度函数(3)钟形隶属度函数bacxcbaxf2)(11),,,(MATLAB应用技术4(4)Sigmoid函数型隶属度函数)(11),,,(cxaecbaxf(5)差型sigmoid隶属度函数)()(221122111111),,,,(cxacxaeecacaxf(6)积型sigmoid隶属度函数)()(221122111111),,,,(cxacxaeecacaxf(7)Z形隶属度函数(8)Ⅱ形隶属度函数(9)S形隶属度函数(10)梯形隶属度函数dxcxbbcxccxbbxaabaxaxdcbaxf010),,,,((11)三角形隶属度函数xcaxbbcxcbxaabaxaxdcbaxf00),,,,(MATLAB应用技术53模糊逻辑运算BxAxxBA且:BxAxxBA或:为全集UUxAxxA,,:BbAaba(BA,:),(与运算或运算非运算直积))(),(min()(xxxBABA))(),(max(xxBABA)(1)(xxAA逻辑与(AANDB)逻辑或(AORB)逻辑非(NOTA)普通逻辑:模糊逻辑MATLAB应用技术64模糊规则模糊推理系统工程中,模糊规则以模糊语言的形式描述人类的经验和知识,规则是否正确反映人类专家的经验和知识更新,是否能反映对象的特性,直接决定了模糊推理系统的性能,通常通过模糊规则的形式是“if…then”,前提由对模糊语言变量的语言什描述构成,如“温度较高”,“压力较低”等,结论由对输出模糊语言变量表示成输入量的精确什的组合,模糊规则的这种形式化表示的符合人们通过自然对许多知识的描述和记忆习惯的。模糊规则的建立①总结操作人员工、专家的经验和知识。②基于过程的模糊模型。③基于学习的方法。MATLAB应用技术7最简单的if…then规则的形式是:“如果x是A,则y是B。”复合型的if…then规则的形式很多,例如:“ifm是A且x是Btheny是C,否则z是D”;“ifm是A且x是B且y是C,thenz是D”;“ifm是A或x是Btheny是C,或z是D”;“ifm是A且x是Btheny是C,且z是D”;这里A,B,C,D分别是论域M,X,Y,Z,中模糊集的主义值,if部分是前提或前件,then部分是结论或后件。输入模糊化确定出if…then规则前提中每个命题或断言为真的程度(即隶属度)。应用模糊算子召唤果规则的前提有几部分,则利用模糊算子可以确定出整个前提为真的程度(即整个前提的隶属度)。应用蕴含算子由前提的隶属度和蕴含琥子,可以确定出结论为真的程度(即结论的隶属度)。MATLAB应用技术85模糊推理模推理是采用模糊逻辑由给定的输入到输出的映射过程。模糊推理包括五个方面:(1)输入变量模糊化,即把确定的输入转化为由隶属度描述的模糊集。(2)在模糊规则的前件中应用模糊算子(与、或、非)。(3)根据模糊蕴含运算由前提推断结论。(4)合成每一个规则的结论部分,得出总的结论。(5)反模糊化,即把输出的模糊量转化为确定的输出。MATLAB应用技术96模糊控制在自动控制理论中,控制器的分析与综合依赖于精确的数学模型。而系统在实际运行过程中,人们将观察到的过程输出与设定值比较,得到过程输出偏离设定值程度的模糊语义描述或过程输出偏离设定值变化快慢的模糊语义描述,经逻辑推理得出控制量的模糊量:“适量减少燃料”,经反模糊化且,转化为一精确的控制量,实现整个控制过程,以模糊集和模糊推理为基础,对上述手工操作过程进行建模,即可得到期模糊控制器。MATLAB应用技术106.1.2模糊推理系统与MATLAB的应用1模糊推理系统结构最常见的模糊推理系统的三类:1、纯模糊逻辑系统2、Sugeno型模糊逻辑系统3、Mamdani型模糊系统模糊产生器模糊推理机模糊消除器模糊规则库模糊产生器模糊推理机模糊消除器模糊规则库MATLAB应用技术112Mamdani型模糊逻辑系统构建Mamdani型是典型的模糊逻辑系统,MATLAB模糊逻辑工具箱中的模糊推理系统有五个过程:输入变量的模糊化、模糊关系运算、模糊合成运算、不同规则结果的综合、去模糊化。(1)输入模糊化(2)输入模糊集合的合成运算(3)模糊蕴含方法(4)输出的合成Aggregation(5)逆模糊化(解模糊化)MATLAB应用技术126.1.3模糊推理系统的MATLAB模糊工具箱的图形界面实现模糊推理系统可通过MATLAB模糊工具箱的图形界面工具来实现,方法简单并且直观,也可利用MATLAB提供的命令行方式的模糊逻辑函数编辑实现,有利于比较复杂的模糊推系统。1图形界面工具箱简介MATLAB模糊工具箱提供的图形化工具有五类:模糊推理系统编辑器Fuzzy;隶属度函数编辑器Mfedit;模糊规则编辑器Ruleedit;模糊规则观察器Ruleview;模糊推理输入输出曲面视图Surfview。FuzzyInferenceSystemFISEditorRuleEditorRuleViewerSurfaceViewerMembershipFunctionEditorMATLAB应用技术132模糊推理系统编辑器(Fuzzy)执行Fuzzy命令MATLAB应用技术143.隶属度函数编辑器(Mfedit)命令窗口键入”mfedit”MATLAB应用技术154.模糊规则编辑器(Ruleedit)MATLAB应用技术165.模糊规则观察器(Ruleview)命令窗口键入“ruleview”MATLAB应用技术176.模糊推理输入输出曲面视图(Surfview)命令窗口键入“surfview”MATLAB应用技术186.1.4模糊逻辑工具箱与Simulink的接口1MATLAB的模糊的图形化系统建模和仿真工具Simulink当在模糊逻辑工具箱中建立了模糊推理系统后,首先,对模糊逻辑工具箱中建立的模糊推理系统后生成FIS文件,然后,在MATLAB命令窗口键入命令Simulink或是直接点击工具栏上的Simulink图标,可以打开Simulink模块库浏览环境,在Simulink模块库浏览环境里通过选择菜单【File】、【New】、【Model】或直接点击工具栏上的相应图标来创建一个新的模型。在新的仿真模型编辑主窗口中搭建仿真控制系统模型。MATLAB应用技术19例设计典型二阶环节,14.46.120)(2sssH的模糊控制器,使系统输出尽快跟随系统输入。MATLAB应用技术20设系统输入为R=10,系统输出误差为e,误差导数为de,则可根据系统输出的误差和误差导数设计出模糊控制器(FC)。FC的输入为e和de的模糊量,输出为u的模糊量,论域分别为:[-11]、[-11]、[-1010],其模糊语言分别为:E:“大B”;“小S”de:“正P”“零Z”、“负N”;u:“负大NB”、“负小NS”、“零ZR”、“正小PS”、“正大PB”。模糊化模糊规则解模糊dtde设定值误差误差变化率模糊推理模糊控制量输出Reu控制对象uMATLAB应用技术21使用MATLABL图形界面工具设计模糊控制器FC:确定隶属度函数确定模糊控制器规则将编制好的文件生成FIS文件上述过程按前面讲解完成,该例子的文件名为GH.fis;在MATLAB下的Simulink环境中建立二级系统的仿真模型如下:MATLAB应用技术22将MATLAB下的GH.fis文件导入Simulink模型中,作为的模糊控制器FC的参数:步骤:(1)选取择上图中的模糊模块控制器(双击其图标),打开对话框并给导入到仿真系统中的模糊控制器命名为gh.fis(2)在MATLAB环境下使用命令:gh=read(‘GH.FIS’)执行即可(3)模型中变量修改使用FIS中的Wizard模块将编制的模糊控制器标准化MATLAB应用技术23模糊控制器参数类型转换图MATLAB应用技术24系统输出MATLAB应用技术256.2MATLAB模糊逻辑工具箱命令行函数应用6.2.1MATLAB模糊逻辑工具箱函数GUI(图形用户界面)工具函数功能anfisedit打开ANFIS编辑器的GUI(图形界面)fuzzy调用基本功的FIS编辑器mfedit隶属度函数编辑器ruleedit规则编辑器和解析器ruleview规则观测器和模糊推理框图surfview输出曲面观测器MATLAB应用技术26隶属度函数函数功能dsigmf由两个S形隶属度函数的差构成的隶属度函数gauss2mf联合高斯型隶属度函数gaussmf高斯型隶属度函数gbellmf广义钟形隶属并函数pimfⅡ形隶属度函数psigmf由两个S形隶属度函数的积构成的隶属度函数smfS状隶属度函数sigmfS形隶属并函数trapmf梯形隶属度函数trimf三角形隶属度函数zmfZ形隶属度函数MATLAB应用技术27FIS数据结构管理函数功能addmf隶属度函添加到FIS(模糊推理系统)addrule在FIS中添加规则addvar在FIS中添加变量defuzz反模糊化的隶属度函数evalfis完成模糊推理计算evalmf普通隶属度函数的计算gensurf产生FIS输出曲面getfis获取模糊系统的特性mf2mf在隶属度函数之间进行参数变换newfis建立新的FISparsrule模糊规则解析plotfis绘图表示FISplotmf绘制出给定变量的所有隶属度函数readfis从磁盘中装入FISrmmf从FIS中删除隶属度函数rmvar从FIS中删除变量setfis设置模糊系统的特性showfis显示带注释的FISshowrule显示FIS规则writefis将FIS结构保存到磁盘文件中MATLAB应用技术28先进技术函数功能anfisSugeno型的训练程序fcm模糊C均值聚类genfis1从示加聚类的数据中产生FIS结构genfis2利用减法聚类从数据中产生FIS结构subclust找出减法聚类的聚类中心MATLAB应用技术29Simulink仿真方框函数功能fuzblock模糊逻辑控制器框图仿真sffisSimulink中和模糊推理S函数MATLAB应用技术30其余函数函数功能convertfisFIS结构的版本变换findcluster模糊C均值和减法聚类的交互聚类GUIfuzarith完成模糊算术运算mam2sug将Mamdani型的FIS变换成Sugeno型FISfuzdemos模糊逻辑工具箱演示程序列表helpfuzzyMATLAB应用技术31模糊系统演示程序函数功能defuzzdm去模糊方法fcmdemoFCM聚类方法演示(二维)gasdemo使用减法聚类的ANFIS演示juggler魔球演示invkine机械臂的倒置irisfcmFCM聚类演示(四维)noisedm自适应噪声对消slbb球棒控制slcp倒立摆控制sltank水位控制sltankrule水位控制(得用规则观测器)sltbu卡车倒车控制MATLAB应用技术326.2.2MATLAB命令行函数使用1、隶属度函数(1)dsigmf功能:由两个S形隶属度函数的差构成的隶属度函数。格式:y=dsigmf(x,[a1c1a2c2])(2)Gauss2mf功能:联合高斯(Gaussian)型隶属函数格式:y=gauss2mf(x,[sig1c1sig2c2])(3)gau

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

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

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

×
保存成功