第三章模糊控制的理论基础第一节概述一、模糊控制的提出以往的各种传统控制方法均是建立在被控对象精确数学模型基础上的,然而,随着系统复杂程度的提高,将难以建立系统的精确数学模型。在工程实践中,人们发现,一个复杂的控制系统可由一个操作人员凭着丰富的实践经验得到满意的控制效果。这说明,如果通过模拟人脑的思维方法设计控制器,可实现复杂系统的控制,由此产生了模糊控制。二、模糊控制的特点模糊控制是建立在人工经验基础之上的。对于一个熟练的操作人员,他往往凭借丰富的实践经验,采取适当的对策来巧妙地控制一个复杂过程。若能将这些熟练操作员的实践经验加以总结和描述,并用语言表达出来,就会得到一种定性的、不精确的控制规则。如果用模糊数学将其定量化就转化为模糊控制算法,形成模糊控制理论。模糊控制理论具有一些明显的特点:(1)模糊控制不需要被控对象的数学模型。模糊控制是以人对被控对象的控制经验为依据而设计的控制器,故无需知道被控对象的数学模型。(2)模糊控制是一种反映人类智慧的智能控制方法。模糊控制采用人类思维中的模糊量,如“高”、“中”、“低”、“大”、“小”等,控制量由模糊推理导出。这些模糊量和模糊推理是人类智能活动的体现。(3)模糊控制易于被人们接受。模糊控制的核心是控制规则,模糊规则是用语言来表示的,如“今天气温高,则今天天气暖和”,易于被一般人所接受。(4)构造容易。模糊控制规则易于软件实现。(5)鲁棒性和适应性好。通过专家经验设计的模糊规则可以对复杂的对象进行有效的控制。第二节模糊集合一、模糊集合对大多数应用系统而言,其主要且重要的信息来源有两种,即来自传感器的数据信息和来自专家的语言信息。数据信息常用0.5,2,3,3.5等数字来表示,而语言信息则用诸如“大”、“小”、“中等”、“非常小”等文字来表示。传统的工程设计方法只能用数据信息而无法使用语言信息,而人类解决问题时所使用的大量知识是经验性的,它们通常是用语言信息来描述。语言信息通常呈经验性,是模糊的。因此,如何描述模糊语言信息成为解决问题的关键。模糊集合的概念是由美国加利福尼亚大学著名教授L.A.Zadeh于1965年首先提出来的。模糊集合的引入,可将人的判断、思维过程用比较简单的数学形式直接表达出来。模糊集理论为人类提供了能充分利用语言信息的有效工具。模糊集合是模糊控制的数学基础。1.特征函数和隶属函数在数学上经常用到集合的概念。例如:集合A由4个离散值x1,x2,x3,x4组成。A={x1,x2,x3,x4}例如:集合A由0到1之间的连续实数值组成。0.100.1,,xRxxA以上两个集合是完全不模糊的。对任意元素x,只有两种可能:属于A,不属于A。这种特性可以用特征函数来描述:)(xAAxAxxA01)(为了表示模糊概念,需要引入模糊集合和隶属函数的概念:其中A称为模糊集合,由0,1及构成。表示元素x属于模糊集合A的程度,取值范围为[0,1],称为x属于模糊集合A的隶属度。AxAxAxxA0)1,0(1)(的程度属于)(xA)(xA)(xA2.模糊集合的表示①模糊集合A由离散元素构成,表示为:iixxxA///2211),,(,),,(),,(2211iixxxA或②模糊集合A由连续函数构成,各元素的隶属度就构成了隶属度函数(MembershipFunction),此时A表示为:xxAA/)(在模糊集合的表达中,符号“/”、“+”和“∫”不代表数学意义上的除号、加号和积分,它们是模糊集合的一种表示方式,表示“构成”或“属于”。模糊集合是以隶属函数来描述的,隶属度的概念是模糊集合理论的基石。例3.2设论域U={张三,李四,王五},评语为“学习好”。设三个人学习成绩总评分是张三得95分,李四得90分,王五得85分,三人都学习好,但又有差异。若采用普通集合的观点,选取特征函数AAuCA学习差学习好01)(此时特征函数分别为(张三)=1,(李四)=1,(王五)=1。这样就反映不出三者的差异。假若采用模糊子集的概念,选取[0,1]区间上的隶属度来表示它们属于“学习好”模糊子集A的程度,就能够反映出三人的差异。采用隶属函数,由三人的成绩可知三人“学习好”的隶属度为(张三)=0.95,(李四)=0.90,(王五)=0.85。用“学习好”这一模糊子集A可表示为:,0.85}{0.95,0.90A100/)(xxA其含义为张三、李四、王五属于“学习好”的程度分别是0.95,0.90,0.85。例3.3以年龄为论域,取。Zadeh给出了“年轻”的模糊集Y,其隶属函数为1002552512500)(12xxxxY200,0X通过Matlab仿真对上述隶属函数作图,隶属函数曲线如图所示。02040608010012000.10.20.30.40.50.60.70.80.91XYearsDegreeofmembership图“年轻”的隶属函数曲线二、模糊集合的运算1模糊集合的基本运算由于模糊集是用隶书函数来表征的,因此两个子集之间的运算实际上就是逐点对隶属度作相应的运算。(1)空集模糊集合的空集为普通集,它的隶属度为0,即0)(uAA(2)全集模糊集合的全集为普通集,它的隶属度为1,即1)(uEAA(3)等集两个模糊集A和B,若对所有元素u,它们的隶属函数相等,则A和B也相等。即)()(uuBABA(4)补集若为A的补集,则)(1)(uuAAAA例如,设A为“成绩好”的模糊集,某学生属于“成绩好”的隶属度为:则属于“成绩差”的隶属度为:2.08.01)(0uA0u8.0)(0uA0u(5)子集若B为A的子集,则)()(uuABAB(6)并集若C为A和B的并集,则C=A∪B一般地,)()())(),(max()(uuuuuBABABABA(7)交集若C为A和B的交集,则C=A∩B一般地,)()())(),(min()(uuuuuBABABABA(8)模糊运算的基本性质模糊集合除具有上述基本运算性质外,还具有下表所示的运算性质。运算法则1.幂等律A∪A=A,A∩A=A2.交换律A∪B=B∪A,A∩B=B∩A3.结合律(A∪B)∪C=A∪(B∪C)(A∩B)∩C=A∩(B∩C)4.吸收律A∪(A∩B)=AA∩(A∪B)=A5.分配律A∪(B∩C)=(A∪B)∩(A∪C)A∩(B∪C)=(A∩B)∪(A∩C)6.复原律AA7.对偶律8.两极律A∪E=E,A∩E=AA∪Ф=A,A∩Ф=ФBABABABA例3.4设求A∪B,A∩B则43215.08.02.09.0uuuuA43216.04.01.03.0uuuuB43216.08.02.09.0uuuuBA43215.04.01.03.0uuuuBA例3.5试证普通集合中的互补律在模糊集合中不成立,即,证:设,则1)()(uuAA0)()(uuAA4.0)(uA6.04.01)(uA16.06.04.0)()(uuAA04.06.04.0)()(uuAA2模糊算子模糊集合的逻辑运算实质上就是隶属函数的运算过程。采用隶属函数的取大(MAX)-取小(MIN)进行模糊集合的并、交逻辑运算是目前最常用的方法。但还有其它公式,这些公式统称为“模糊算子”。设有模糊集合A、B和C,常用的模糊算子如下:(1)交运算算子设C=A∩B,有三种模糊算子:①模糊交算子②代数积算子③有界积算子)(),()(xxMinxBAc)()()(xxxBAc1)()(,0)(xxMaxxBAc(2)并运算算子设C=A∪B,有三种模糊算子:①模糊并算子②代数和算子③有界和算子)(),()(xxMaxxBAc)()()()()(xxxxxBABAc)()(,1)(xxMinxBAc(3)平衡算子当隶属函数取大、取小运算时,不可避免地要丢失部分信息,采用一种平衡算子,即“算子”可起到补偿作用。设A和B经过平衡运算得到C,则其中γ取值为[0,1]。当γ=0时,,相当于A∩B时的算子。))(1())(1(1)()()(1xxxxxBABAc)()()(xxxBAc当γ=1,,相当于A∪B时的代数和算子。平衡算子目前已经应用于德国Inform公司研制的著名模糊控制软件Fuzzy-Tech中。)()()()()(xxxxxBABAc第三节隶属函数一、几种典型的隶属函数在Matlab中已经开发出了11种隶属函数,即双S形隶属函数(dsigmf)、联合高斯型隶属函数(gauss2mf)、高斯型隶属函数(gaussmf)、广义钟形隶属函数(gbellmf)、II型隶属函数(pimf)、双S形乘积隶属函数(psigmf)、S状隶属函数(smf)、S形隶属函数(sigmf)、梯形隶属函数(trapmf)、三角形隶属函数(trimf)、Z形隶属函数(zmf)。在模糊控制中应用较多的隶属函数有以下6种隶属函数。(1)高斯型隶属函数高斯型隶属函数由两个参数和c确定:其中参数b通常为正,参数c用于确定曲线的中心。Matlab表示为222)(),,(cxecxfc]),σ[gaussmf(x,(2)广义钟型隶属函数广义钟型隶属函数由三个参数a,b,c确定:其中参数b通常为正,参数c用于确定曲线的中心。Matlab表示为bacxcbaxf211),,,(c])b,[a,gbellmf(x,(3)S形隶属函数S形函数sigmf(x,[ac])由参数a和c决定:其中参数a的正负符号决定了S形隶属函数的开口朝左或朝右,用来表示“正大”或“负大”的概念。Matlab表示为)(11),,(cxaecaxfsigmf(x,[a,c])(4)梯形隶属函数梯形曲线可由四个参数a,b,c,d确定:其中参数a和d确定梯形的“脚”,而参数b和c确定梯形的“肩膀”。Matlab表示为:dxdxccdxdcxbbxaabaxaxdcbaxf010),,,,(d])c,b,[a,trapmf(x,(5)三角形隶属函数三角形曲线的形状由三个参数a,b,c确定:其中参数a和c确定三角形的“脚”,而参数b确定三角形的“峰”。Matlab表示为cxcxbbcxcbxaabaxaxcbaxf00),,,(c])b,[a,trimf(x,(6)Z形隶属函数这是基于样条函数的曲线,因其呈现Z形状而得名。参数a和b确定了曲线的形状。Matlab表示为有关隶属函数的MATLAB设计,见著作:楼顺天,胡昌华,张伟,基于MATLAB的系统分析与设计-模糊系统,西安:西安电子科技大学出版社,2001b])[a,zmf(x,例3.6隶属函数的设计:针对上述描述的6种隶属函数进行设计。M为隶属函数的类型,其中M=1为高斯型隶属函数,M=2为广义钟形隶属函数,M=3为S形隶属函数,M=4为梯形隶属函数,M=5为三角形隶属函数,M=6为Z形隶属函数。如图所示。01234567891000.10.20.30.40.50.60.70.80.91trimf,P=[368]图高斯型隶属函数(M=1)01234567891000.10.20.30.40.50.60.70.80.91trimf,P=[246]图广义钟形隶属函数(M=2)01234567891000.10.20.30.40.50.60.70.80.91trimf,P=[24]图S形隶属函数(M=3)01234567891000.10.20.30.40.50.60.70.80.91trimf,