下面将根据模糊控制器设计步骤,一步步利用Matlab 工具箱设计模糊控制器
Matlab 模糊控制工具箱为模糊控制器的设计提供了一种非常便捷的途径,通过它我们不需要进行复杂的模糊化、模糊推理及反模糊化运算,只需要设定相应参数,就可以很快得到我们所需要的控制器,而且修改也非常方便
首先我们在 Matlab 的命令窗口(command window)中输入 fuzzy,回车就会出来这样一个窗口
下面我们都是在这样一个窗口中进行模糊控制器的设计
1.确定模糊控制器结构:即根据具体的系统确定输入、输出量
这里我们可以选取标准的二维控制结构,即输入为误差e 和误差变化ec,输出为控制量u
注意这里的变量还都是精确量
相应的模糊量为E,EC 和U,我们可以选择增加输入(Add Variable)来实现双入单出控制结构
2.输入输出变量的模糊化:即把输入输出的精确量转化为对应语言变量的模糊集合
首先我们要确定描述输入输出变量语言值的模糊子集,如{NB,NM,NS,ZO,PS,PM,PB},并设置输入输出变量的论域,例如我们可以设置误差E(此时为模糊量)、误差变化EC、控制量U 的论域均为{-3,-2,-1,0,1,2,3};然后我们为模糊语言变量选取相应的隶属度函数
在模糊控制工具箱中,我们在Member Fu nction Edit 中即可完成这些步骤
首先我们打开 Member Fu nction Edit 窗口
然后分别对输入输出变量定义论域范围,添加隶属函数,以 E 为例,设置论域范围为[-3 3],添加隶属函数的个数为 7
然后根据设计要求分别对这些隶属函数进行修改,包括对应的语言变量,隶属函数类型
3.模糊推理决策算法设计:即根据模糊控制规则进行模糊推理,并决策出模糊输出量
首先要确定模糊规则,即专家经验
对于我们这个二维控制结构以及相应的输入模糊集,