《2020年(环境管理)MATLAB环境下的模糊推理程序化方法》由会员分享,可在线阅读,更多相关《2020年(环境管理)MATLAB环境下的模糊推理程序化方法(6页珍藏版)》请在金锄头文库上搜索。
1、摘要:介绍了在环境下,实现模糊推理的程序化的方法,解决了由于增加模糊量化论域而产生的复杂计算问题,为模糊控制的研究和应用提供了方便的条件。 关键词:模糊控制 近似推理 模糊推理程序化 模糊控制具有不依赖对象的数学模型、鲁棒性强、能够很好地克服传动系统中模型参数变化和非线性等不确定因素的优点,因此,模糊控制在实际控制系统中得到广泛应用。模糊控制器普遍采用的是离线进行模糊推理产生的模糊控制表,然后把控制表存储在单片机中进行在线查表控制,但模糊推理计算量大,这给模糊控制器的设计和调整带来了许多困难。此外,模糊控制存在的一个较大的缺点是稳态精度不高。为此,人们提出了许多改进的方法,其中最直接的方法是增
2、加模糊量化论域。但是,当量化论域中元素、控制规则的条数很多时,模糊推理计算控制表的运算量大大增加。本文在环境下,研究了模糊推理算法,研制了模糊推理程序。只要给出模糊控制器的输入和输出量的隶属函数矩阵、控制规则矩阵、模糊量的特征向量矩阵,运行该程序就可得到模糊控制表。该软件使用方便,为模糊控制的研究和应用提供了方便的条件。 模糊推理概述 在模糊控制中,关键是要求得模糊关系矩阵,应用最多的是离线进行模糊推理产生控制表,模糊推理是模糊控制器的核心。这里以两入一出、采用推理方法及重心法解模糊的模糊控制器为例,简要介绍模糊推理过程。 设模糊集合 ()(), ()(), ()() (,),模糊规则为“ ”
3、(,)。其中为模糊变量的个数,()、()、()分别为论域、上的模糊集。由此可求得总模糊关系: 对某一模糊特征向量*、*,进一步可求出输出的模糊量: 最后,通过解模糊判决可求出输出的精确量: 注: 是模糊向量的笛卡儿积,由公式()计算: 其中,“”表示转置,“”表示矩阵合成运算,使用最常见的 “”算子计算,见公式: 这里需要指出的是,把笛卡儿乘积看作一个与一个的矩阵合成。计算结果是模糊阵,而()表示把这个模糊阵按行“拉直”成元模糊行向量,再转置成元模糊列向量;(*)的含义是:把*这个模糊阵按行“拉直”成元模糊行向量。 基于实现模糊推理程序设计 在环境下,充分利用其矩阵处理能力,可实现“”、“ ”
4、及 “”模糊算子运算、重心法(或最大隶属度法)解模糊。由于模糊推理过程涉及到合成、求模糊关系及解模糊运算等,采用自定义函数实现各个功能的模块化。图为主函数程序框图;图为求模糊关系程序框图;图为解模糊程序框图;图为合成程序框图。 运行此程序,只要输入矩阵和及相应矩阵、控制矩阵、特征向量矩阵*和*及输出量化论域矩阵,就能得到模糊控制表。 计算实例. 常规模糊控制器 下面以常规模糊控制器为例来验证此程序的正确性。在常规模糊控制器中,输入语言变量偏差、偏差变化率、输出语言变量控制量的赋值表及、的控制规则表见文献。文献中的原控制表如表所示,利用本文编制的模糊推理程序(采用“”算子、最大隶属度解模糊)得到
5、的控制表如表所示。 在表、表中最上面一行为输入量误差的量化等级,最左一列为输入量误差变化的量化等级。表与表中的数据存在差异,这是因为表中的带*的数据均是修正后的结果。这一点可以通过特征展开近似推理方法进行验证。具体验证方法如下:表1 E、CEU 控制表-6-5-4-3-2-1-0+0123456-676*77*44442*10000-56*6*6*6*44442*2*0000-476*76*44442*10000-36*6*6*6*5*5*5*5*2*2*0*-2*-2*-2*-276*76*441100-3*-4-4-4-176*76*44110-3*-3*-4-4-4076*76*41*0
6、0-1*-4-6*-7-6*-714443*1*0-1-1-4-4-6*-7-6*-724442*00-1-1-4-4-6*-7-6*-732*2*2*0*0*0*-1*-1*-3*-3*-6*-6*-6*-6*4000-1*-1-3*-4-4-4-4-6*-7-6*-75000-1*-1*-2*-4-4-4-4-6*-6*-6*-6*6000-1*-11*-4-4-4-4-6*-7-6*-7表2 E、CEU 控制表-6-5-4-3-2-1-0+0123456-676.576.544441.510000-56.56.56.56.544441.51.50000-476.576.544441.51
7、0000-36.56.56.56.5443311-3-3-3-3-276.576.5441100-4-4-4-4-176.576.5441100-4-4-4-4076.576.54400-4-4-6.5-7-6.5-71444400-1-1-4-4-6.5-7-6.5-72444400-1-1-4-4-6.5-7-6.5-733333-1-1-3-3-4-4-6.5-6.5-6.5-6.540000-1-1.5-4-4-4-4-6.5-7-6.5-750000-1.5-1.5-4-4-4-4-6.5-6.5-6.5-6.560000-1-1.5-4-4-4-4-6.5-7-6.5-7以表的第行
8、第列为例,即*(,),*(,)为其特征向量,由特征展开近似推理方法的式: 可计算出,(),(),(),(),(),(),由其余条规则得到的或总有一个为,故这一对模糊输入得到的模糊输出为: (,) 经过解模糊得到精确输出为: ()(). 增加模糊量化论域的模糊控制器 以增加模糊量化论域的模糊控制器为例进行模糊推理,计算出控制表。取误差、误差变化和控制量的量化论域均为: , 取误差、误差变化和控制量的模糊论域均为: , 误差、误差变化和控制量的隶属函数均如图所示。 借鉴常规模糊控制器设计经验,得到语言控制规则表,如表所示。表中共有条控制规则,其中一些规则可以合并。但利用计算机进行推理计算,这些规则
9、就没必要合并了。表3 E、CEU 模糊控制规则表 E UCENVBNBNMNSNVSZOPVSPSPMPBPVBNVBPVBPVBPBPMPMPSPSPVSZOZOZONBPVBPBPBPMPMPSPSPVSZOZOZONMPBPBPMPMPSPSPVSPVSZOZOZONSPBPMPMPSPSPVSPVSZONVSNVSNVSNVSPMPMPSPSPVSPVSZONVSNVSNSNSZOPMPSPSPVSPVSZONVSNVSNSNSNSPVSPSPSPVSPVSZONVSNVSNSNSNMNMPSPSPVSPVSZONVSNVSNSNSNMNMNMPMPVSPVSZONVSNVSNSNSNMNMNBNBPBPVSZONVSNVSNSNSNMNMNBNBNVBPVBZONVSNVSNSNSNMNMNBNBNVBNVB 利用研制的模糊推理计算程序,采用“?”得到的,控制表,如表所示。在表中最上面一行为误差的量化等级,最左一列为误差变化的量化等级。表4 控制表u-10-9-8-7-6-5-4-3-2-1012345678910-109.79.79.79.787666544432100000-99.78.78.78.787666544432100