题目:模糊控制系统建模与仿真分析、实验目的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 基本模糊推理系统编辑器在Comma nd Win dows输入"fuzzy ”命令,弹出如下图1所示的"FIS Editor ”(模糊推理系统编辑器)窗口。
在这里可以对包括输入、输出模糊语言变量的名称、模糊推理系统的类型和名称、模糊逻辑推理的各种运算(与、或、蕴含、规则合成、解模糊化)等高层属性进行编辑。
同时, 还可以打开模糊推理系统的隶属函数编辑器( mfedit )、模糊规则编辑器(ruleedit )、模糊规则观测器( ruleview )、模糊推理输入输出曲面观测器( surfview )。
图 1 “FIS Editor ”窗口1•“ File ”菜单在图1所示的菜单栏中单击 “ File ”菜单,弹出如图2 (a )所示的下拉菜单。
单击“ New FIS ”菜单可弹出下级菜单,在这里可新建模糊推理系统,模糊推理系统的类型有 Mamda ni和Sugeno 两种。
单击“Import ”菜单,可打开下级菜单,可实现从工作空间 (From Workspace ) 或磁盘文件(From file )读入数据的功能。
单击“ Export ”菜单,在弹出的下级菜单中,单击“To Workspace ”菜单,可将当前模糊推理系统保存到工作空间,单击“To File ”菜单,可将当前模糊推理系统保存到磁盘文件上。
单击“ Print ”菜单,可打印当前模糊推理系统。
单击“ Close ”菜单可关闭当前模糊推理系统。
2•“ Edit ”菜单在图1所示的菜单栏中单击“ Edit ”菜单,弹出如图2(b)所示的模糊推理系统编辑菜 单。
在图2 (b )中单击“ Undo ”菜单可取消当前操作,单击“Add Variable ”菜单可添加输入变量(In put )或输出变量(Output ),单击“ RemoveSelected Variable ”菜单可删除 当前变量,单击“ Membership Fu nctio ns ”菜单可弹出隶属函数编辑器,单击“ Rules ”菜 单可弹出规则编辑器。
3•“ View ”菜单在图1所示的菜单栏中单击 “View ”菜单,弹出如图2(c )所示的下拉菜单。
在图2(c)中,单击“ Rules ”菜单弹出规则观测器窗口,单击“ Surface ”菜单弹出模糊推理系统输入输出关系曲面。
图2模糊推理系统编辑器菜单tipperAggregstian DeTuzzilicntio nF/lJ| serviceinput [□11LCloseOpening Membersho Fundlcn Ei当前娈虽徧辑区 在这里可修改要昼名称EditFiSNsme:FIS Type;rrtamcfa niAnd insthodCunrerrt *日和日 bfe NiamB OrmeUhod Impicatio 仃Type Range幵列则墉铤rrtax備碗票单応】文件莱单⑷观图菜单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 ”、"mor”、"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) mon— -最大隶属度平均值法(8)lom-最大隶属度最大值法(9) som—-最大隶属度最小值法例如进行基本设置后小费计算的模糊推理系统基本编辑窗口如图3所示。
图3编辑后小费计算模糊推理系统编辑窗口1.2隶属度函数编辑器(mfedit )在图1所示的“ FIS Editor ”编辑窗口中,单击输入(或输出)变量,或者单击菜单【Edit】T 【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形隶属函数sigmf ----- sigmoid形隶属函数pimf―― “二”形隶属函数smf―― “ S”形隶属函数zmf―― “ Z”形隶属函数忖Edit Vie*llew FIS..►Import PEKp-ort$frint Ctrl+PClose Ctrl+lfCtrl+ZMd MFs..-.Kdd Cutten IF ..Remore S-elected IFfiemcve All HFs0 肮I M Ctrl+5Surface Clrl+0FIS Froperti es...Ctrl+iCtrl+3图4隶属函数编辑器Edit Vltw(叮文件熬单枯〕編価棄单图5隶属度函数不编辑器菜单视图英单图6编辑后的模糊语言变量的隶属函数1.3模糊规则编辑器(Ruleedit )在图1所示的"FIS Editor ”编辑窗口中双击模糊推理系统名称" tipper ”,或者单击【Edit】T【Rules】菜单,弹出如图7所示的模糊规则编辑器。
1.菜单操作模糊规则编辑器的“ File ”菜单、“ View ”菜单与前面相同,“ Edit ”菜单有“ Un do”、"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 ”可修改规则。
同时在“Conn ection ”(模糊语言变量连接)区可选择输入模糊语言变量之间的连接关系。
而在“Weight”(权重)设置区可设置该条规则的权重。
Fil« Edit Vi sw Opti^nE2. tf (servioe is bad) and (food Is ccmmon) inen (tip Is IHtle) (1)3. If (service is bad) and (food i$ ^oocDthen (tip its common) (1)4. tf (s^rvioe is g^gd) @rid (food ts badj)th«n (tip iis litfie) (1)5.tf [sorvicB is good) and (food ts 乜ommMijths n 0ip is CDfimon) (1) 氏 If (serviee Is and (iaod is good) tln&n (tip Is more)⑴7. if (service is better) and (food Is k®① than (tip Is little) (1)8.lf (service is beftier) and (focd is common) ttien (tip is common) (1)9. if (service is 囲er) and (focd i? good) then (tip is more) (1、 10. If (service is bssfl.) and (load is : bacQ then (Eip 滋 litflB) (11) v|11andTter>service Isfood is tv ishBddbsd 亠1 littlegood亡 ommoneommcin better qodti 空耶more 1 bestnonencine[nonedI - nut_ notnotCa nr ectiork -■Wei^rt:r orP and1 Delete rule | Add r ule | Change rule |FIS Nsn*e- tipperH* I Clase图9规则编辑后的规则显示区1.4模糊规则观察器(RuleView )在模糊推理系统编辑窗口、 隶属函数编辑窗口、 模糊规则编辑窗口中单击“ View ”菜单,在弹出的下拉菜单中单击“ Rules View ”菜单,弹出如图10所示的规则观察器。