(1)模糊集合
模糊集合F是指,论域U上任意元素 ,都对应 中某个数,即 ,这也是 对F的隶属度。 的大小表示了 对模糊集合F的从属程度,越接近1,表示从属程度越高。
(2)隶属函数
最常用的三种直线型隶属函数如下:
图3.1 常用的直线型隶属函数图
(3)基本运算
两个模糊子集进行运算,“交”、“并”、“补”,就是对隶属函数中每个点进行运算。两个集合相“并”,就取大的点;两个集合相“交”,就取小的点;如果是求某个子集的补集,那么就把集合中的每个点都用1减去,得到的结果形成新的集合,就是对应模糊子集的补集。
3.2 模糊控制器简介
3.2 模糊控制器结构图
模糊控制器主要包括四个功能模块,模糊化模块、模糊推理模块、反模糊化模块和知识库模块[19]。模糊化是将精确量输入变成模糊量输出。模糊推理模块可以将模糊输入通过模糊逻辑推理,输出新的模糊量。反模糊化模块可以将模糊量转换成精确量输出。知识库模块主要就是根据工程设计经验和专家经验得到的数据库和推理规则。
本文采用了常规的模糊控制器,它的输入是偏差E和偏差的导数(即偏差的变化情况)Ec。
首先,在MATLAB的Command Window输入命令Fuzzy,按下回车键,弹出模糊推理编辑窗口[20]。
3.3 模糊推理编辑窗口图
可以看出,初始的模糊控制类型为mandani型,模糊推理系统可以自定义变量名字,比如现在选中的input1,在右下角可以修改名称。因为所设计的是二文模糊逻辑控制器,所以还要加入一个input变量。当然还可以加任意个数的输入变量,但是这样既增加了系统的计算量,造成不必要的浪费,也没有价值。
点击Edit下面的Add Variable就可以添加输入变量。将这两个输入变量分别修改名称为e和ec,代表一个输入的是偏差,另一个输入的是偏差的变化情况。输出设置为u,代表输出的是控制信号。
双击任意一个变量模块,都可以进入隶属度函数编辑器,界面如下:
3.4 隶属度函数编辑器图
在这个界面,可以定义变量的论域、隶属度函数类型。设计的模糊控制器中,E的论域是 ,使用高斯型隶属度函数;Ec的论域是 ,使用高斯型隶属度函数;U的论域是 ,使用三角形隶属度函数。点击Edit下面的Rules可以进入模糊规则编辑器。
在这里,可以添加或者编辑所用的模糊推理系统里的推理规则,即给每一对输入设定对应的输出,从而形成模糊推理规则表。根据专家经验,系统采用的模糊控制规则表如下:
表3.1 模糊控制规则表
U E
NB NM NS ZO PS PM PB
EC NB NB NB NM NM NM NS NS
NM NB NM NM NS NS ZO PS
NS NM NM NS NS ZO PS PM
ZO NM NM NS ZO PS PM PM
PS NM NS ZO PS PS PM PM 基于模糊控制的永磁同步电动机速度控制系统研究(3):http://www.youerw.com/zidonghua/lunwen_10521.html