位置:51电子网 » 技术资料 » 嵌入式系统

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

发布时间:2008/6/3 0:00:00 访问次数:848

作者:山东东营石油大学自动化系(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*及输出量化论

作者:山东东营石油大学自动化系(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*及输出量化论

相关IC型号

热门点击

 

推荐技术资料

DFRobot—玩的就是
    如果说新车间的特点是“灵动”,FQPF12N60C那么... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!