5.1MATLAB模糊逻辑工具箱简介5.2利用模糊逻辑工具箱建立模糊推理系统5.3MATLAB模糊逻辑工具箱的图形用户界面5.4基于Simulink的模糊逻辑的系统模块5.5模糊推理系统在控制系统中的应用2.解析模糊规则函数parsrule()函数parsrule()对给定的模糊语言规则进行解析并添加到模糊推理系统矩阵中,其调用格式fisMat2=parsrule(fisMat1,txtRuleList,ruleFormat,lang)其中,fisMati为模糊推理系统矩阵;txtRuleList为模糊语言规则;ruleFormat为规则的格式,包括语言型(’verbose’)、符号型(’symbolic’)和索引型(’indexed’);lang为规则使用的语言,可以是“English”、“Francais”和“Deusch”。Lang值确省为English,此时关键词为if、then、is、and、or和not,ruleFormat参数会自动设为语言型(’verbose’)。例:fisMat1=readfis(tipper);ruleTxt=ifserviceispoorthentipisgenerous;fisMat2=parsrule(fisMat1,ruleTxt,verbose);showrule(fisMat2)3.显示模糊规则函数showrule()调用格式:showrule(fisMat,indexList,format,lang)其中,fisMati为模糊推理系统矩阵;indexList为规则编号;format为规则的格式,同函数parsrule()中的ruleFormat参数定义;lang为规则使用的语言,同函数parsrule()中定义。本函数用于显示指定的模糊推理系统的模糊规则,模糊规则可以按三种方式显示,即:详述方式(verbose)、符号方式(symbolic)和隶属度函数编号方式(membershipfunctionindexreferencing)。第一个参数是模糊推理系统矩阵的名称,第二个参数是规则编号,第三个参数是规则显示方式。规则编号可以以向量形式指定多个规则。例fisMat=readfis(tipper);showrule(fisMat,1)fisMat=readfis(tipper);showrule(fisMat,2)fisMat=readfis(tipper);showrule(fisMat,[31],symbolic)fisMat=readfis(tipper);showrule(fisMat,1:3,indexed)5.2.5模糊推理计算与去模糊化在建立好模糊语言变量及其隶属度的值,并构造完成模糊规则之后,就可执行模糊推理计算了。模糊推理的执行结果与模糊蕴含操作的定义、推理合成规则、模糊规则前件部分的连接词“and”的操作定义等有关,因而有多种不同的算法。目前常用的模糊推理合成规则是“极大一极小”合成规则,设R表示规则:“X为A?Y为B”表达的模糊关系,则当X为A’时,按照“极大一极小”规则进行模糊推理的结论B’计算如下:基于模糊蕴含操作的不同定义,人们提出了多种模糊推理算法,其中较为常用的是Mamdani模糊推理算法和Larsen模糊推理算法。另外,对于输出为精确量的一类特殊模糊逻辑系统——Takagi-Sugeno型模糊推理系统,采用了将模糊推理与去模糊化结合的运算操作。与其他类型的模糊推理方法不同,Takagi——Sugeno型模糊推理将去模糊化也结合到模糊推理中,其输出为精确量。这是由Takagi——Sugeno型模糊规则的形式所决定的,在Sugeno型模糊规则的后件部分将输出量表示为输入量的线性组合,零阶Sugeno型模糊规则具有如下形式。IFx为A且y为BTHENz=k其中,k为常数。而一阶Sugeno型模糊规则的形式如下:IFx为A且y为BTHENz=p*x+q*y+r式中p,q,r均为常数。对于一个由n条规则组成的Sugeno型模糊推理系统,设每条规则具有下面的形式:Ri:IFx为Ai且y为BiTHENz=zi(i=1,2,…,n)则系统总的输出用下式计算:在MATLAB模糊逻辑工具箱中提供了有关对模糊推理计算与去模糊化的函数,如表5-5所示。表5-5模糊推理计算与去模糊化的函数函数名功能eval