《模糊逻辑工具箱ppt课件.ppt》由会员分享,可在线阅读,更多相关《模糊逻辑工具箱ppt课件.ppt(82页珍藏版)》请在三一办公上搜索。
1、5个基本GUI工具与模糊推理系统之间的关系,FIS editor,Fuzzy Inference System,Membership Function editor,Rule editor,Rule viewer,Surface viewer,Read-only tools,FIS 编辑器处理系统的高级属性:输入/输出量的数目、名字。,隶属度函数编辑器定义与每个变量相对应的隶属度函数形状。,规则编辑器定义系统行为的一系列规则。,规则观察器显示模糊推理方框图,可作为诊断工具使用。,显示输出输入之间的依赖关系,可生成和绘制输出曲面映射。,5个基本GUI可以相互作用并交换信息,它们中的任何一个(包括
2、只读型观察器)都可以对工作空间和磁盘进行读和写。对于任意模糊推理系统,可以打开任意和所有5个GUI。各种GUI窗口可以知道其它GUI窗口的存在,如果需要的话,将更新相关窗口。,GUI构造FIS的过程,INPUT OUTPUT,Rules,INPUT OUTPUT terms terms,The FIS Editor,The Rule Editor,The Membership Function Editor,The General Case,The GUI Editor,GUI构造FIS的过程,例4.1 双输入、单输出小费问题。小费三条规则:1.如果服务差或食品差,那么小费低;2.如果服务好,
3、那么小费中等;3.如果服务极好或食品极好,那么小费高。设服务质量和食品质量都用010之间的一个数表示,10表示非常好,试建立一个模糊逻辑推理系统,可根据输入状态计算出应付多少小费。,GUI构造FIS的过程,INPUT OUTPUT,Rules,INPUT OUTPUT terms terms,service tip,if service is poor then tip is cheapif service is good then tip is averageif service is excellent then tip is generous,service tip(poor,(chea
4、p,good,average,excellent)generous),The General Case,The Specific Example,从GUI工具输入输出,在MATLAB中,模糊系统有两种保存方式:保存到磁盘中,文件后缀名为“.fis”;保存到MATLAB工作空间中,创建一个变量,该变量是一个FIS系统的MATLAB结构,变量名由用户决定。注意:如果只将新建的FIS保存到MATLAB工作空间中,而没有保存到磁盘中,那么在新的MATLAB会话期间,将无法使用该FIS系统。,从GUI工具输入输出,从GUI工具输入输出,FIS结构,FIS:nametypeandMethodorMetho
5、ddefuzzMethodimpMethodaggMethod,FIS层次结构方框图,一、新建/打开模糊推理系统的方法,1.在command window中输入命令行:fuzzy 弹出MATLAB默认的FIS编辑器,是一个单输入单输出系统。以此为基础可根据用户需要,新建任意模糊推理系统。2.若需要打开已有的模糊推理系统“tipper.fis”,在command window中输入命令行:fuzzy tipper,FIS编辑器,二、FIS编辑器窗口功能介绍,FIS编辑器,FIS编辑器,二、FIS编辑器窗口功能介绍,FIS编辑器,二、FIS编辑器窗口功能介绍,FIS编辑器,二、FIS编辑器窗口功能
6、介绍,FIS编辑器,二、FIS编辑器窗口功能介绍,FIS编辑器,二、FIS编辑器窗口功能介绍,FIS编辑器,二、FIS编辑器窗口功能介绍,FIS编辑器,二、FIS编辑器窗口功能介绍,三、构造双输入单输出系统增加输入变量,FIS编辑器,FIS编辑器,三、构造双输入单输出系统增加输入变量,三、构造双输入单输出系统变量名称更名,单击输入变量图标 图标从黑边黄框,变为红边黄框 空白编辑域与该输入变量相对应,FIS编辑器,FIS编辑器,三、构造双输入单输出系统变量名称更名,FIS编辑器,三、构造双输入单输出系统保存设置,FIS编辑器,三、构造双输入单输出系统保存设置,FIS编辑器,三、构造双输入单输出系
7、统,隶属函数编辑器:一、打开隶属函数编辑器的方法 二、模糊逻辑工具箱内置的隶属度函数 三、隶属函数编辑器窗口功能介绍 四、新建当前变量的隶属函数 五、修改当前变量的隶属函数 六、新建自己的隶属函数,一、打开隶属度函数编辑器的方法,在FIS编辑器窗口,打开Edit下拉菜单,并选择 Membership Functions双击输出变量图标在命令行键入mfedit,隶属度函数编辑器,二、模糊逻辑工具箱内置的隶属度函数,隶属度函数编辑器,模糊逻辑工具箱中包含了11个内置的隶属度函数类型,这11个函数又由几个基函数构成:分段线性函数、高斯分布函数、S形函数、二次和三次多项式曲线。按MATLAB惯例,所有
8、隶属度函数的最后两个字母都是“mf”。详见P197“附录1 模糊逻辑工具箱函数简介”,三、隶属度函数编辑器窗口功能介绍,隶属度函数编辑器,三、隶属度函数编辑器窗口功能介绍,隶属度函数编辑器,三、隶属度函数编辑器窗口功能介绍,隶属度函数编辑器,四、新建当前变量的隶属函数,隶属度函数编辑器,四、新建当前变量的隶属函数,隶属度函数编辑器,四、新建当前变量的隶属函数,隶属度函数编辑器,四、新建当前变量的隶属函数,隶属度函数编辑器,五、修改当前变量的隶属函数,用鼠标拖动可改变隶属度函数形状,隶属度函数编辑器,六、新建自己的隶属函数,隶属度函数编辑器,六、新建自己的隶属函数,隶属度函数编辑器,用户根据需要
9、,用M文件编写自己的隶属度函数代码,并用与11个内置隶属函数不同的名称命名。注意:用户定义隶属度函数时,使用的参数不能超过16个。,规则编辑器 一、打开规则编辑器的方法 二、规则编辑器窗口功能介绍 三、规则的插入、改变与删除,一、打开规则编辑器的方法,在隶属度函数编辑器窗口,打开Edit下拉菜单,并选择Edit Rules在命令行键入ruleedit,规则编辑器,二、规则编辑器窗口功能介绍,规则编辑器,二、规则编辑器窗口功能介绍,规则编辑器,二、规则编辑器窗口功能介绍,规则编辑器,二、规则编辑器窗口功能介绍,规则编辑器,详述格式:if(service is poor)or(food is ra
10、ncid)then(tip is cheap)符号格式:(service=poor)=(tip=cheap)索引格式:1(1):1,二、规则编辑器窗口功能介绍,规则编辑器,三、规则的插入、改变与删除,规则编辑器,规则观察器 一、打开规则观察器的方法 二、规则观察器窗口功能介绍,一、打开规则观察器的方法,在FIS编辑器、或隶属函数编辑器、或规则编辑器窗口,打开View下拉菜单,并选择Rules,规则观察器,二、规则观察器窗口功能介绍,规则观察器,二、规则观察器窗口功能介绍,规则观察器,二、规则观察器窗口功能介绍,规则观察器,二、规则观察器窗口功能介绍,规则观察器,二、规则观察器窗口功能介绍,规则
11、观察器,二、规则观察器窗口功能介绍,规则观察器,曲面观察器 一、打开曲面观察器的方法 二、曲面观察器窗口功能介绍,一、打开曲面观察器的方法,在FIS编辑器、或隶属函数编辑器、或规则编辑器窗口,打开View下拉菜单,并选择Surface,曲面观察器,曲面观察器,二、曲面观察器窗口功能介绍,曲面观察器,二、曲面观察器窗口功能介绍,曲面观察器,二、曲面观察器窗口功能介绍,曲面观察器,二、曲面观察器窗口功能介绍,命令行工作方式 一、装入系统 二、获得系统的结构信息 三、修改系统的结构信息 四、产生GUI工具窗口的函数 五、系统显示函数 六、建立一个系统 七、FIS求值,相关的命令行详见P197“附录1
12、.3”,一、装入系统,命令行工作方式,在commond window中输入命令行:a=readfis(tipperdemo.fis),a=name:tipperdemo type:mamdani andMethod:min orMethod:max defuzzMethod:centroid impMethod:min aggMethod:max input:1x2 struct output:1x1 struct rule:1x3 struct,二、获得系统的结构信息getfis(a),命令行工作方式,注意:a是已存在于MATLAB工作空间中的变量,利用readfis()函数获得,是一个FI
13、S结构。,Name=tipperdemo Type=mamdani NumInputs=2 InLabels=service food NumOutputs=1 OutLabels=tip NumRules=3 AndMethod=min OrMethod=max ImpMethod=min AggMethod=max DefuzzMethod=centroid,ans=mamdani,a.type,二、获得系统的结构信息showfis(a),命令行工作方式,1.Name tipper2.Type mamdani3.Inputs/Outputs 2 14.NumInputMFs 3 25.Nu
14、mOutputMFs 36.NumRules 37.AndMethod min8.OrMethod max9.ImpMethod min10.AggMethod max11.DefuzzMethod centroid12.InLabels service13.food 14.OutLabels tip15.InRange 0 1016.0 1017.OutRange 0 3018.InMFLabels poor 19.good 20.excellentrancid 22.delicious,23.OutMFLabels cheap 24.average 25.generous26.InMFTy
15、pes gaussmf27.gaussmf28.gaussmf29.trapmf 30.trapmf 31.OutMFTypes trimf32.trimf33.trimf34.InMFParams 1.5 0 0 0 35.1.5 5 0 0 36.1.5 10 0 037.0 0 1 3 38.7 9 10 10 39.OutMFParams 0 5 10 0 40.10 15 20 041.20 25 30 042.Rule Antecedent 1 143.2 0,三、修改系统的结构信息,命令行工作方式,a=name:tipperdemo type:mamdani andMethod:
16、min orMethod:max defuzzMethod:centroid impMethod:min aggMethod:max input:1x2 struct output:1x1 struct rule:1x3 struct,1)a.name=test2)a=setfis(a,name,test),四、产生GUI工具窗口的函数,命令行工作方式,fuzzy(a)产生FIS编辑器mfedit(a)产生隶属度函数编辑器ruleedit(a)产生规则编辑器ruleview(a)产生规则观察器surfview(a)产生曲面观察器,五、系统显示函数plotfis(a),命令行工作方式,用方框图显
17、示整个系统,五、系统显示函数plotmf(a,input,1),命令行工作方式,五、系统显示函数plotmf(a,output,1),命令行工作方式,五、系统显示函数gensurf(a),命令行工作方式,六、建立一个系统方法一,a=newfis(tipper);a.input(1).name=service;a.input(1).range=0,10;a.input(1).mf(1).name=poor;a.input(1).mf(1).type=gaussmf;a.input(1).mf(1).params=1.5 0;.a.output(1).name=tip;.,建立新的名为“tippe
18、r”的模糊逻辑系统,建立新的名为“service”的输入变量,指定输入变量“service”的取值范围,为输入变量“service”,建立新的名为“poor”的隶属度函数,指定隶属度函数“poor”的类型,指定隶属度函数“poor”的参数,建立新的名为“tip”的输出变量,命令行工作方式,a.rule(1).antecedent=1 1;a.rule(1).consequent=1;a.rule(1).weight=1;a.rule(1).connection=2;.,规则1采用两个输入变量的第一个隶属度函数:poor、rancid,规则1的输出,规则1的权为1,规则1对两个输入条件采用“or
19、”操作,六、建立一个系统方法一,命令行工作方式,a=newfis(tipper);a=addvar(a,input,1,service,0,10);a=addmf(a,input,1,poor,gaussmf,1.5 0);.a=addvar(a,output,1,tip,0,30);a=addmf(a,output,1,cheep,trimf,0 5 10);.rulelist=1 1 1 1 2 2 0 2 1 1 3 2 3 1 2;a=addrule(a,rulelist);,六、建立一个系统方法二,命令行工作方式,七、FIS求值evalfis(),命令行工作方式,1)求给定一个输入的
20、输出值 a=readfis(tipper);evalfis(1 2,a),运行结果:ans=5.5586,2)求给定多个输入的输出值 a=readfis(tipper);evalfis(3 5;2 7,a),运行结果:ans=12.2184 7.7885,应用实例模糊控制洗衣机,1.选择模糊控制参数 模糊控制洗衣机的控制对象是洗衣机的洗涤时间;假定输入是被洗衣物的污泥和油脂,输出是洗涤时间。输入/输出参数分别定义如下:污泥SD(污泥少),MD(中等污泥),LD(污泥多)油脂NG(无油脂),MG(中等油脂),LG(油脂多)洗涤时间VS(很短),S(短),M(中等),L(长),VL(很长)设污泥和
21、油脂的论域范围为:0,100;洗涤时间的论域范围为:0,60。,应用实例模糊控制洗衣机,隶属函数的解析式表示如下:,应用实例模糊控制洗衣机,应用实例模糊控制洗衣机,2.设计控制规则 洗衣机的洗涤规则如下表所示:,应用实例模糊控制洗衣机,3.规则评估 假定传感器给出的精确输入为:x0(污泥)=60,y0(油脂)=70,与模糊术语进行匹配,将精确量模糊化:,根据洗涤规则,洗衣机的推导决策表可简化为:,应用实例模糊控制洗衣机,4.消解冲突 有4个规则被触发:Rule1:IF x is MD and y is MG THEN z is M;Rule2:IF x is MD and y is LG THEN z is L;Rule3:IF x is LD and y is MG THEN z is L;Rule4:IF x is LD and y is LG THEN z is VL;,计算4个规则的规则强度:,应用实例模糊控制洗衣机,洗衣机的规则强度表示为:,将推导强度表和规则强度表中对应的元素求小运算,得到控制输出:,应用实例模糊控制洗衣机,由于规则2的输出被包含在规则3的输出中,所以洗衣机的组合输出实际上是三个削顶三角模糊数的并。用最大隶属度平均法,对模糊输出结果反模糊化:,实验课习题:,根据4.8的分析,试用模糊逻辑工具箱建立模糊控制洗衣机的模糊推理系统。,
链接地址:https://www.31ppt.com/p-2123932.html