老古开发网首页
导航:老古开发网首页文章索引文章分类传感与控制→[MATLAB环境下的模糊推理程序化方法]
| -文章搜索 - 最新文章 - |

MATLAB环境下的模糊推理程序化方法

发布时间:2006年5月20日 点击次数:650
来源:电子技术应用   作者:山东东营石油大学自动化系(257062) 陈秀真 白连平
 

    摘要:介绍了在MATLAB环境下,实现模糊推理的程序化的方法,解决了由于增加模糊量化论域而产生的复杂计算问题,为模糊控制的研究和应用提供了方便的条件。

    关键词:模糊控制  近似推理  模糊推理程序化

    模糊控制具有不依赖对象的数学模型、鲁棒性强、能够很好地克服传动系统中模型参数变化和非线性等不确定因素的优点,因此,模糊控制在实际控制系统中得到广泛应用。模糊控制器普遍采用的是离线进行模糊推理产生的模糊控制表,然后把控制表存储在单片机中进行在线查表控制,但模糊推理计算量大,这给模糊控制器的设计和调整带来了许多困难。此外,模糊控制存在的一个较大的缺点是稳态精度不高。为此,人们提出了许多改进的方法[1],其中最直接的方法是增加模糊量化论域。但是,当量化论域中元素、控制规则的条数很多时,模糊推理计算控制表的运算量大大增加。本文在MATLAB环境下,研究了模糊推理算法,研制了模糊推理程序。只要给出模糊控制器的输入和输出量的隶属函数矩阵、控制规则矩阵、模糊量的特征向量矩阵,运行该程序就可得到模糊控制表。该软件使用方便,为模糊控制的研究和应用提供了方便的条件。

1 模糊推理概述

    在模糊控制中,关键是要求得模糊关系矩阵,应用最多的是离线进行模糊推理产生控制表,模糊推理是模糊控制器的核心。这里以两入一出、采用CRI推理方法及重心法解模糊的模糊控制器为例,简要介绍模糊推理过程。

    设模糊集合 Ai =(a1i...ani)∈F(X),Bi =(b1i...bmi)∈F(Y),C =(c1i...cti)∈F(Z) (i=1,...,p),模糊规则为“IF Ai AND Bi THEN Ci”(i=1,...,p)。其中p为模糊变量的个数,F(X)、F(Y)、F(Z)分别为论域X、Y、Z上的模糊集。由此可求得总模糊关系:

    对某一模糊特征向量A*、B*,进一步可求出输出的模糊量:

    最后,通过解模糊判决可求出输出的精确量:

    注:Ai×Bi 是模糊向量的笛卡儿积,由公式(4)计算:

    其中,“T”表示转置,“o”表示矩阵合成运算,使用最常见的 “∨—∧”算子计算,见公式:

    这里需要指出的是,把笛卡儿乘积看作一个n×1与一个1×m的矩阵合成。计算结果是n×m模糊阵,而(Ai×Bi)T1表示把这个n×m模糊阵按行“拉直”成nm元模糊行向量,再转置成nm元模糊列向量;(A*×B*)T2的含义是:把A*×B*这个n×m模糊阵按行“拉直”成nm元模糊行向量。

2 基于MATLAB实现模糊推理程序设计

    在MATLAB环境下,充分利用其矩阵处理能力[2],可实现“∨—∧”、“∨—· ”及 “∧—”模糊算子运算、重心法(或最大隶属度法)解模糊。由于模糊推理过程涉及到合成、求模糊关系及解模糊运算等,采用自定义函数实现各个功能的模块化。图1为主函数程序框图;图2为求模糊关系程序框图;图3为解模糊程序框图;图4为合成程序框图。

    运行此程序,只要输入矩阵A和B及相应矩阵C、控制矩阵Q、特征向量矩阵A*和B*及输出量化论域矩阵QF,就能得到模糊控制表。

3 计算实例

3.1 常规模糊控制器

    下面以常规模糊控制器为例来验证此程序的正确性。在常规模糊控制器中,输入语言变量偏差E、偏差变化率CE、输出语言变量控制量U的赋值表及E、CE→U的控制规则表见文献[3]。文献[3]中的原控制表如表1所示,利用本文编制的模糊推理程序(采用“∨—∧”算子、最大隶属度解模糊)得到的控制表如表2所示。

    在表1、表2中最上面一行为输入量误差E的量化等级,最左一列为输入量误差变化CE的量化等级。表1与表2中的数据存在差异,这是因为表1中的带*的数据均是修正后的结果。这一点可以通过特征展开近似推理方法[4]进行验证。具体验证方法如下:

表1 E、CE→U 控制表

  -6 -5 -4 -3 -2 -1 -0 +0 1 2 3 4 5 6
-6 7 6* 7 7* 4 4 4 4 2* 1 0 0 0 0
-5 6* 6* 6* 6* 4 4 4 4 2* 2* 0 0 0 0
-4 7 6* 7 6* 4 4 4 4 2* 1 0 0 0 0
-3 6* 6* 6* 6* 5* 5* 5* 5* 2* 2* 0* -2* -2* -2*
-2 7 6* 7 6* 4 4 1 1 0 0 -3* -4 -4 -4
-1 7 6* 7 6* 4 4 1 1 0 -3* -3* -4 -4 -4
0 7 6* 7 6* 4 1* 0 0 -1* -4 -6* -7 -6* -7
1 4 4 4 3* 1* 0 -1 -1 -4 -4 -6* -7 -6* -7
2 4 4 4 2* 0 0 -1 -1 -4 -4 -6* -7 -6* -7
3 2* 2* 2* 0* 0* 0* -1* -1* -3* -3* -6* -6* -6* -6*
4 0 0 0 -1* -1 -3* -4 -4 -4 -4 -6* -7 -6* -7
5 0 0 0 -1* -1* -2* -4 -4 -4 -4 -6* -6* -6* -6*
6 0 0 0 -1* -1 1* -4 -4 -4 -4 -6* -7 -6* -7

表2 E、CE→U 控制表

  -6 -5 -4 -3 -2 -1 -0 +0 1 2 3 4 5 6
-6 7 6.5 7 6.5 4 4 4 4 1.5 1 0 0 0 0
-5 6.5 6.5 6.5 6.5 4 4 4 4 1.5 1.5 0 0 0 0
-4 7 6.5 7 6.5 4 4 4 4 1.5 1 0 0 0 0
-3 6.5 6.5 6.5 6.5 4 4 3 3 1 1 -3 -3 -3 -3
-2 7 6.5 7 6.5 4 4 1 1 0 0 -4 -4 -4 -4
-1 7 6.5 7 6.5 4 4 1 1 0 0 -4 -4 -4 -4
0 7 6.5 7 6.5 4 4 0 0 -4 -4 -6.5 -7 -6.5 -7
1 4 4 4 4 0 0 -1 -1 -4 -4 -6.5 -7 -6.5 -7
2 4 4 4 4 0 0 -1 -1 -4 -4 -6.5 -7 -6.5 -7
3 3 3 3 3 -1 -1 -3 -3 -4 -4 -6.5 -6.5 -6.5 -6.5
4 0 0 0 0 -1 -1.5 -4 -4 -4 -4 -6.5 -7 -6.5 -7
5 0 0 0 0 -1.5 -1.5 -4 -4 -4 -4 -6.5 -6.5 -6.5 -6.5
6 0 0 0 0 -1 -1.5 -4 -4 -4 -4 -6.5 -7 -6.5 -7

以表1的第10行第7列为例,即E*=(0,0,0,0,0,0,1,0,0,0,0,0,0,0),CE*=(0,0,0,0,0,0,0,0,0,1,0,0,0)为其特征向量,由特征展开近似推理方法[4]的式:

    可计算出α3=0.3,α4=1,β5=0.7,β6=0.7,β7=0.1,(α3∧β5)U4=0.3U4,(α3∧β6)U3=0.3U3,(α3∧β7)U3=0.1U3,(α4∧β5)U3=0.7U3,(α4∧β6)U2=0.7U2,(α4∧β7)U2=0.1U2,由其余50条规则得到的αi或βj总有一个为0,故这一对模糊输入得到的模糊输出为:

    U=0.3U4∪0.7U3∪0.3U3∪0.1U3∪0.7U2∪0.1U2
    =(0,0.14,0.49,0.7,0.49,0.56,0.7,0.3,0.15,0,0,0,0,0,0)

    经过解模糊得到精确输出为:

    u=((-4)+(-1))/2=-2.5

3.2 增加模糊量化论域的模糊控制器

    以增加模糊量化论域的模糊控制器为例进行模糊推理,计算出控制表。取误差E、误差变化CE和控制量U的量化论域均为:

    {-10,-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9,10}

    取误差E、误差变化CE和控制量U的模糊论域均为:

    {NVB,NB,NM,NS,NVS,ZO,PVS,PS,PM,PB,PVB}

    误差E、误差变化CE和控制量U的隶属函数均如图5所示。

    借鉴常规模糊控制器设计经验,得到语言控制规则表,如表3所示。表中共有121条控制规则,其中一些规则可以合并。但利用计算机进行推理计算,这些规则就没必要合并了。

表3 E、CE→U 模糊控制规则表

     E
   U
CE
NVB NB NM NS NVS ZO PVS PS PM PB PVB
NVB PVB PVB PB PM PM PS PS PVS ZO ZO ZO
NB PVB PB PB PM PM PS PS PVS ZO ZO ZO
NM PB PB PM PM PS PS PVS PVS ZO ZO ZO
NS PB PM PM PS PS PVS PVS ZO NVS NVS NVS
NVS PM PM PS PS PVS PVS ZO NVS NVS NS NS
ZO PM PS PS PVS PVS ZO NVS NVS NS NS NS
PVS PS PS PVS PVS ZO NVS NVS NS NS NM NM
PS PS PVS PVS ZO NVS NVS NS NS NM NM NM
PM PVS PVS ZO NVS NVS NS NS NM NM NB NB
PB PVS ZO NVS NVS NS NS NM NM NB NB NVB
PVB ZO NVS NVS NS NS NM NM NB NB NVB NVB

    利用研制的模糊推理计算程序,采用“∨—?”得到的E,CE→U控制表,如表4所示。在表中最上面一行为误差E的量化等级,最左一列为误差变化CE的量化等级。

表4 控制表

u -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10
-10 9.7 9.7 9.7 9.7 8 7 6 6 6 5 4 4 4 3 2 1 0 0 0 0 0
-9 9.7 8.7 8.7 8.7 8 7 6 6 6 5 4 4 4 3 2 1 0 0 0 0 0
-8 9.7 8.7 8 8 8 7 6 6 6 5 4 4 4 3 2 1 0 0 0 0 0
-7 8.7 8.7 8 7 7 7 6 5 5 5 4 3 3 3 2 1 0 0 0 0 0
-6 8 8 8 7 6 6 6 5 4 4 4 3 2 2 2 1 0 0 0 0 0
-5 8 7 7 7 6 5 5 5 4 3 3 3 2 1 1 0 -1 -1 -1 -1 -1
-4 8 7 6 6 6 5 4 4 4 3 2 2 2 1 0 -1 -2 -2 -2 -2 -2
-3 7 7 6 5 5 5 4 3 3 3 2 1 1 0 -1 -1 -2 -3 -3 -3 -3
-2 6 6 6 5 4 4 4 3 2 2 2 1 0 -1 -2 -2 -2 -3 -4 -4 -4
-1 6 5 5 5 4 3 3 3 2 1 1 0 -1 -1 -2 -3 -3 -3 -4 -4 -4
0 6 5 4 4 4 3 2 2 2 1 0 -1 -2 -2 -2 -3 -4 -4 -4 -4 -4
1 5 5 4 3 3 3 2 1 1 0 -1 -1 -2 -3 -3 -3 -4 -5 -5 -5 -5
2 4 4 4 3 3 2 2 1 0 -1 -1 -1 -1 -3 -4 -4 -4 -5 -6 -6 -6
3 4 3 3 3 2 1 1 0 -1 -1 -2 -3 -3 -3 -4 -5 -5 -5 -6 -6 -6
4 4 3 2 2 2 1 0 -1 -2 -2 -2 -3 -4 -4 -4 -5 -6 -6 -6 -6 -6
5 3 3 2 1 1 0 -1 -1 -2 -3 -3 -3 -4 -5 -5 -5 -6 -7 -7 -7 -7
6 2 2 2 1 0 -1 -2 -2 -2 -3 -4 -4 -4 -5 -6 -6 -6 -7 -8 -8 -8
7 2 1 1 0 -1 -1 -2 -3 -3 -3 -4 -5 -5 -5 -6 -7 -7 -7 -8 -8.7 -8.7
8 2 1 0 -1 -2 -2 -2 -3 -4 -4 -4 -5 -6 -6 -6 -7 -8 -8 -8 -8.7 -9.7
9 1 0 -1 -1 -2 -3 -3 -3 -4 -5 -5 -5 -6 -7 -7 -7 -8 -8.7 -8.7 -8.7 -9.7
10 0 -1 -2 -2 -2 -3 -4 -4 -4 -5 -6 -6 -6 -7 -8 -8 -8 -8.7 -9.7 -9.7 -9.7

4 仿真结果

    这里以对象

    为例,分别使用表2、表4中的数据构成模糊控制器,响应曲线如图6中曲线1、2所示,其中采样周期 T=0.1s。从图6中可以看出,增加模糊量化论域的模糊控制器的稳态精度明显提高。

    此程序方便地实现了模糊推理的功能,免去了手工计算的麻烦。而且,不论变量的量化等级为多大,只要给定模糊控制器的输入和输出量的隶属函数矩阵、控制规则矩阵、模糊量的特征向量矩阵,运行该软件就可快速地获得相应的模糊控制表。另外,该软件可实现“∨—∧”、“∨—· ”、 “—∧”模糊算子运算及重心法、最大隶属度原则模糊判决方法。因此,本文为模糊控制的研究和应用提供了方便的条件。


欢迎进入老古论坛进行讨论
[传感与控制] 相关文章:
BP神经网络用于三相电弧炉弧流控制
简介:
摘要: 针对电极升降式控制的三相电弧炉弧流之间具有强耦合的特点,提出了采用神经网络控制器,在电流超过允许偏差时并行计算出三相电极的调节量,达到减少调节过程和调节机构动作次数的目的。并提出了离线训练方法和仿真模型。 关键词: 三相电弧炉 弧流 神经网络 电弧炉是利用电......

光电码盘四倍频分析
用可编程序控制器(PLC)控制加速器
无刷电机控制器ML4425/4426的应用
半导体指纹传感器工作效率的改装设计
旋转速率传感器KMI10
智能控制的任务适应算法
AGV电磁锁相制导系统
模糊控制在尾砂胶结充填过程控制中的应用
多微机控制的中/高速VVVF电梯
 
下一个:[新闻热点]上海横河国际贸易有限公司校准实验中心取得ISO/IEC17025的资格认证
简介:
上海横河国际贸易有限公司校准实验中心于2006年3月1日成功取得了由IA Japan*1颁布的校准资格认证。IA Japan的认证标准是ISO/IEC17025(检测和校准实验室能力认可准则)。取得认证的校准项目有:时间/频率的远程校准*2(校准范围覆盖全中国)及频率标准器、计数器、频率发生器等的基准信号校准。 上海横河国际贸易有限公司校准实验中心是中国首个获得由NITE*3认证中心颁布的ASNITE*4资格认证,同时也开创了在中国国内开展远程校准服务的先例。2006年3月22日日本的《电气新闻报》特意为此刊登了新闻报道。此次的认证机构IA Japan已签署了ILAC*5和APLAC*......
 

上一个:[通信网络]基于PC104总线的嵌入式以太网卡设计

老古开发网版权所有 2006年9月 asp.Net V2.0 设计:老古
页面缓存:否 执行时间:31毫秒