matlab mamdani,模糊推理的Mamdani算法及其Matlab实现

2008.10 (下旬刊) 一、引言 目前,模糊推理系统已经成功应用于自动控制、数据分类、决策分析、专家系统及计算机视觉系统之中。Mamdani 型的模糊推理方法是常见的模糊算法。模糊推理的本质就是将一个给定输入空间通过模糊逻辑的方法映射到一个特定的输出空间的计算过程。 在工程应用中,往往期待推理输出的是一个确定的控制量或其他具体数值,而应用 Mamdani 型的模糊推理系统,将多条模糊规则合成后,对每个输出变量模糊集合进行去模糊化处理得到具体的结果。 本文通过一般模糊推理的 Mamdani 算法首先推导出多重的算法,然后借助 Matlab 的模糊控制工具箱选取三角型的模糊隶属函数,针对具体实例对双输入单输出的模糊控制规则求解。 二、简单 Fuzzy 推理模型的 Mamdani 算法 Mamdani 于 1974 年首次提出 Fuzzy 逻辑控制,并给出一种基于 CRI 方案的 Fuzzy 推理算法,被称为 Mamdani 算法,至今仍是一种被广泛使用的有效算法。 取模糊关系生成算法为“\/”运算 R(x,y)=(A→B)(x,y)=A(x)\/B(x,y)=min{A(x),B(y)} (1)推理合成算法“o”为“\/-/\”复合运算 B*(y)= \/ x∈X [A*(x)\/A(x)\/B(y)]= \/ x∈X [A*(x)/\A(x)/\B(y)] (2) (2)式即为简单 Fuzzy 推理的 Mamdani 算法,可以改写为: B*(y)={ \/ x∈X [A*(x)/\A(x)/\B(y)]/\B(y)=[ \/ x∈X (A*∩)(x)]/\B(y) (3) (3)式中的(A*∩)(x)正好刻画了模糊集合 A 与 A* 之间的贴近度。那么由(2)式或(3)式所求得的推理结果 B* 可如图 1 所示: 图 1:简单 Fuzzy 推理模型的 Mamdani 算法 从图 1 可以看出,A 与 A* 的贴近度越高,按 Mamdani 算法所求得 B* 的结果也就越接近大前提 A→B 的后者 B。 三、多重 Fuzzy 推理模型的算法多重 Fuzzy 推理模型如下 A1 → B1 A2 → B2 … … An → Bn A* B* 其中 A1,A2,…An,A*∈F(X),B1,B2,…Bn,B*∈F(Y)。 先分别按简单 Fuzzy 推理模型处理如下 A1 → B1 A* B1* A2 → B2 A* B2* An → Bn A* Bn*,…, 然后将各推理结果以“∪”的方式聚合为一个最终的结果 B*, 即 B*=B*1∪B*2∪…B*n (4) 这样得到多重 Fuzzy 推理模型的 Mamdani 算法 B*(y)=(B*1∪B*2∪…B*n)(y)=\/ n i=1 \/ x∈X [A*(x)/\Bi(y)] (5) 图示的推理结果如图 2: 图 2:多重 Fuzzy 推理模型的 Mamdani 算法 四、Mamdani 算法步骤总结及 Matlab 实现 对于一个二输入(偏差,偏差变化率)单输出的离散论域常规模糊控制算法,很多文献都有说明[3-5]。但本文所指连续论域情况下,其构造及运算过程由下面几步完成。 将偏差 e、偏差变化率 e' 及控制量 u 的物理量论域分别用大写字母 E、⊿E 与 U 表示。考虑到实用性,假定 E、⊿E、U 均为 R1 中的有限闭区间。将 E、⊿E 与 U 分别分为 m、n 与 p 档,三者的档次分别用模糊数 Aj∈F(E)、Bk∈F(⊿E)、Cl?F(U)表示出来,它们都是在自身基点孤共鸣的(即在各自

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值