基于Matlab编程方法实现模糊推理及解模糊的方法研究
基于M a tlab 编程方法实现模糊推理及解模糊的方法研究
王海江, 陈
瑾, 徐卫忠
(中船重工集团 第七一一研究所 上海 200090)
摘 要: 针对M a t lab 软件在矩阵运算方面的优势, 提出了基于M a t lab 编程方法实现M am dan i 极大极小运算法模糊推
理和最大隶属度法、 加权平均法和取中位数法等三种解模糊的方法, 并给出了源程序。
关键词: 模糊控制; 模糊推理; 解模糊;
M a t lab
中图分类号: T P 312
文献标识码: A
文章编号: 1004 373X (2004) 23 043 04
Study on Fuzzy Rea son in g an d Un f uzzy Ba sed on the
M e thod of Programm in g w ith M a tlab
W A N G H a ijiang, CH EN J in , XU W e izho ng
(Shangha iM a r ine D ie se l Eng ine R e sea rch In st itu te, Shangha i, 200090, C h ina)
A b s t ra c t: T h is a r t ic le aga in st th e M a t lab in advan tage s o f m a t r ix op e ra t io n1F ir st m ak e th e M am dan iM ax M in fuzzy rea so n ing,
seco nd rea lize th ree unfuzzy m e tho d s, inc lud ing th e M ax sub jec t io n deg ree m e tho d, add th e ave rage m e tho d in pow e r and tak e th e
m ed ian m e tho d1T h en g iv ing so u rce p ro cedu re1
Ke yw o rd s: fuzzy co n t ro l; fuzzy rea so n; unfuzzy; M a t lab
对一个较复杂的工业控制系统来说, 整个控制过程都采用
模糊控制的方法比较少, 很可能只是在某些工况下或对某 些控制量才适合用模糊控制的方法, 比如发动机的控制
等。而这种集模糊控制和其他常规的控制方法于一体的控
制芯片还在实验室里。因此, 对于一个较复杂的控制系统 来说, 很少采用硬件实现的方法。
本文将介绍一种基于M a t lab 编程方法实现模糊推理 及解模糊的方法。
1引言
一个基本的模糊控制系统由输入量的模糊化、模糊控
制规则制定、模糊推理及解模糊等几个步骤组成, 其中模 糊推理在整个模糊控制系统设计中占有非常重要的位置, 他运算量大、耗时, 对某一控制系统来说, 选用恰当、有
效的模糊推理方法及其实现方法将对整个控制系统的控 制效果产生很大的影响。工程实际中常用的实现方法主要 可概括为两种: 一种是采用软件实现的方法; 另一种是采
用硬件实现的方法。前一种方法主要是通过软件编程方法 实现模糊推理, 他也可以分为两种: 一种是“在线”编程
的方法, 他是通过把隶属度函数用编程语言描述后嵌入到 模糊控制系统的控制软件内来实现实时模糊推理, 精度较
高, 实时性较好。但他只能采用较简单的隶属度函数, 比
如三角形、梯形等, 对于高斯型、钟型、sigm o id 型及 Z 型 等较复杂的隶属度函数来说是非常困难的。同时他也增加
了控制软件的工作量, 影响软件的执行效率。另一种是采 用控制查询表的方法, 该方法首先通过软件编程实现模糊
控制器设计, 然后得出实际控制系统的控制查询表, 最后
通过插值的方法完成模糊控制任务。该方法实现起来较方 便, 减轻了控制软件的工作量, 但实时性较差。
通过硬件实现模糊推理的方法效率高, 实时性较好,
但他也受以下几个方面因素的制约: 一是成本较高, 二是
2
M a tla b 简介
在科学研究和工程实际中, 经常要进行大量的数学计
算, 尤其是矩阵运算。一般来说, 这些运算难以用手工方 法精确和快捷地进行, 而需要借助相应的计算机软件编制
相应的程序作近似计算。但是如果用V B , V C 或 C 等高级 语言来编制计算程序, 特别是矩阵运算, 即需要对有关算
法有深刻的了解, 也需要熟练掌握所用语言的语法及编程 技