模糊控制系统建模与仿真分析
题目:模糊控制系统建模与仿真分析一、实验目的1、熟悉 Matlab 软件的基本操作方法 2、掌握用 matlab/Fuzzy logic toolbox 进行模糊控制系统建模仿真的基本方法。3、熟悉模糊控制系统设计的基本方法二、实验学时:4 学时三、实验原理MATLAB R2008 提供了建立模糊逻辑推理系统的仿真工具箱Fuzzy Logic Toolbox,版本为 Fuzzy Logic Toolbox2.2.7。建立模糊逻辑推理系统有两种基本方法,第一种方法是借助模糊推理系统编辑器(Fuzzy Logic Editor)的图形界面工具建立模糊逻辑推理系统,第二种方法是利用命令建立模糊逻辑推理系统。第一种方法使用简单、建模方便,适合于初学模糊逻辑控制系统建模与仿真的读者。第二种方法稍难一些,但对深入了解模糊逻辑推理系统的 MATLAB 仿真知识大有帮助。下面分别讲述两种方法,读者可自行选择阅读。1 模糊逻辑工具箱图形界面工具模糊逻辑工具箱图形工具是为了方便用户建立模糊推理系统而推出的图形化设计工具,在这里可快速方便的建立模糊推理系统并观测模糊规则、推理输出等。模糊逻辑推理图形工具主要包括:基本模糊推理系统编辑器(fuzzy) 、隶属函数编辑器(mfedit) 、模糊规则编辑器(ruleedit) 、模糊规则观测器(ruleview) 、模糊推理输入输出曲面观测器(surfview) 。下面分别介绍它们的基本使用方法。1.1 基本模糊推理系统编辑器在 Command Windows 输入“fuzzy”命令,弹出如下图 1 所示的“FIS Editor”(模糊推理系统编辑器)窗口。在这里可以对包括输入、输出模糊语言变量的名称、模糊推理系统的类型和名称、模糊逻辑推理的各种运算(与、或、蕴含、规则合成、解模糊化)等高层属性进行编辑。同时,还可以打开模糊推理系统的隶属函数编辑器(mfedit) 、模糊规则编辑器(ruleedit) 、模糊规则观测器(ruleview) 、模糊推理输入输出曲面观测器(surfview) 。图 1 “FIS Editor”窗口1.“File”菜单 在图 1 所示的菜单栏中单击“File”菜单,弹出如图 2(a)所示的下拉菜单。单击“New FIS”菜单可弹出下级菜单,在这里可新建模糊推理系统,模糊推理系统的类型有Mamdani 和 Sugeno 两种。单击“Import”菜单,可打开下级菜单,可实现从工作空间(From Workspace)或磁盘文件(From file)读入数据的功能。单击“Export”菜单,在弹出的下级菜单中,单击“To Workspace”菜单,可将当前模糊推理系统保存到工作空间,单击“To File”菜单,可将当前模糊推理系统保存到磁盘文件上。单击“Print”菜单,可打印当前模糊推理系统。单击“Close”菜单可关闭当前模糊推理系统。2.“Edit”菜单在图 1 所示的菜单栏中单击“Edit”菜单,弹出如图 2(b)所示的模糊推理系统编辑菜单。在图 2(b)中单击“Undo”菜单可取消当前操作,单击“Add Variable”菜单可添加输入变量(Input)或输出变量(Output) ,单击“Remove Selected Variable”菜单可删除当前变量,单击“Membership Functions”菜单可弹出隶属函数编辑器,单击“Rules”菜单可弹出规则编辑器。3.“View”菜单在图 1 所示的菜单栏中单击“View”菜单,弹出如图 2(c)所示的下拉菜单。在图 2(c)中,单击“Rules”菜单弹出规则观测器窗口,单击“Surface”菜单弹出模糊推理系统输入输出关系曲面。图 2 模糊推理系统编辑器菜单4.输入输出变量编辑选择输入或输出变量显示区,在图 1 的右下角将显示当前变量的名称及类型,在这里可修改当前变量的名称。如果用鼠标左键双击输入或输出变量显示区,则可以打开隶属函数编辑器(Membership Function Editor) 。双击模糊推理系统名称、类型显示区,可以打开规则编辑器(Rule Editor) 。5模糊推理基本算法设置在图 1 的左下角,可以选择模糊逻辑推理的基本运算方法。例如在“And Method”(与)操作方法里,可以选择“min” 、 “prod”。在“Or Method”(或)操作方法里,可以选择“max” 、 “probor”、在“Implication” (蕴涵)操作方法里可以选择“min” 、 “prod”。在“Aggregation” (规则合成)方法里可以选择“max” 、 “sum”和“probor” 。在“Defuzzification”(解模糊化)方法里可以选择“centroid” 、 “bisector”、 “mom”、“lom”、 “som”。解模糊化方法的基本含义如下:(1) max求最大值,y=max(a,b)返回 a、b 中较大数值。(2) min求最小值,y=min 返回 a、b 中较小数值。(3) prod求乘积,y=prod 返回 a、b 的乘积。(4) prob代数和,y=probor(a,b)返回值为 y=a+b-a*b。(5) centroid重心法又称质心法(6) bisector面积平分法(7) mom最大隶属度平均值法(8) lom最大隶属度最大值法(9) som最大隶属度最小值法例如进行基本设置后小费计算的模糊推理系统基本编辑窗口如图 3 所示。图 3 编辑后小费计算模糊推理系统编辑窗口1.2 隶属度函数编辑器(mfedit)在图 1 所示的 “FIS Editor”编辑窗口中,单击输入(或输出)变量,或者单击菜单【Edit】【Membership Function Editor】 ,弹出如图 4 所示的隶属函数编辑器。1.菜单栏隶属度函数编辑器的文件(File)菜单和视图(View)菜单与模糊推理系统编辑窗口内容及功能一样,如图 5(a)所示。编辑(Edit)菜单如图 5(b)菜单,可对隶属函数进行添加(Add MFs) 、删除(Remove Selected MF、Remove all MFs)等操作,还可以打开模糊推理系统编辑器(FIS Properties)和规则编辑器(Rules) 。2.隶属函数编辑在图 4 的左上角为模糊推理系统的模糊语言变量区,右上角为当前模糊语言变量的隶属函数曲线,左下角为当前变量的名称、类型显示及论域编辑区,右下角为当前隶属函数名称、类型、参数编辑区。这里隶属函数的类型有:trimf三角形隶属函数trapmf梯形隶属函数gbellmf钟形隶属函数gaussmf高斯形隶属函数gauss2mf高斯 2 形隶属函数sigmfsigmoid 形隶属函数pimf“ ”形隶属函数smf“S”形隶属函数zmf“Z”形隶属函数图 4 隶属函数编辑器图 5 隶属度函数不编辑器菜单图 6 编辑后的模糊语言变量的隶属函数1.3 模糊规则编辑器(Ruleedit)在图 1 所示的 “FIS Editor”编辑窗口中双击模糊推理系统名称“tipper” ,或者单击【Edit】【Rules】菜单,弹出如图 7 所示的模糊规则编辑器。1. 菜单操作模糊规则编辑器的“File”菜单、 “View”菜单与前面相同, “Edit”菜单有“Undo” 、“FIS properties”和“Menbership Function Editor”三个下拉菜单,如图 8(a)所示,可进行取消、打开模糊推理系统基本编辑器、隶属函数编辑器操作。在图 8(b)所示的选择 (Opetion) 菜单里,可以选择模糊规则的显示语言及类型,显示语言有:“English”(英语) 、 “Deutsch”(德语)和“Francais” (法语) ,规则显示类型有:“Verbose” (语言型) 、 “Symbolic”(符号型)和“Indexed” (索引型) 。2. 规则添加在图 7 的变量语言值列表区选择相应的模糊变量语言值,单击“Add Rule”即可添加规则,如果选中图 7 中的某条模糊规则,单击“Delete Rule”可删除该条规则,如果单击“change Rule”可修改规则。同时在“Connection” (模糊语言变量连接)区可选择输入模糊语言变量之间的连接关系。而在“Weight” (权重)设置区可设置该条规则的权重。图 7 模糊规则编辑器图 8 模糊规则编辑器的 Edit 和 Option 菜单图 9 规则编辑后的规则显示区1.4 模糊规则观察器(RuleView)在模糊推理系统编辑窗口、隶属函数编辑窗口、模糊规则编辑窗口中单击“View”菜单,在弹出的下拉菜单中单击“Rules View”菜单,弹出如图 10 所示的规则观察器。1.5 模糊推理输入输出曲面观察器(Surfview)在模糊推理系统编辑窗口、隶属函数编辑窗口、模糊规则编辑窗口中单击“View”菜单,在弹出的下拉菜单中单击“Surfview”菜单,弹出如图 11 所示的输入输出曲面观察器。图 11 所示为小费计算的输入输出曲面关系图。图 10 规则观测器图 11 输入输出关系曲面观测器图四、实验内容1、教材第四章 4-7 节例题