文档介绍:matlab 模糊控制工具箱的使用本学期选修了周川老师的智能控制及应用这门课程,大三时候曾上过周老师的英文版的控制工程基础这门课程, 比较喜欢周老师上课的风格, 智能控制这门课也收获不小, 模糊控制是课程中讲到的第一个智能控制算法。模糊不是真的模糊, 模糊是为了精确。模糊控制中涉及到一个隶属度的概念, 通常我们认为一个事物属于一个概念与否是确定的, 比如数字电路的 0与1, 但是实际情况或者人们的思维习惯却不是这样的。比如规定 18到 30 岁为青年,那么还差一天到 18 岁的人算不算青年呢?照规定看不算,但是如果我们加入概率的概念,比如说这个人 90% 属于青年人,可能更符合人们的思维习惯。 在其《不相容原理》所述:“随着系统的复杂程度不断提高, 人们对其精确而有意义地描述的能力不断的降低, 以致在达到某一个阈值之后, 系统的精确性和复杂性之间呈现出几乎是相互完全排斥的性质”。我们通常所用的控制算法一般是建立在模型比较确定的情况下, 而模糊控制不依赖于对象的模型就可以进行控制决策, 而且对系统参数变化具有较强的适应性。对于模糊控制的原理, 我不是很清楚, 也没有这个心情去搞清楚, 感觉知道大概怎么用就可以了。 Matlab 中集成了模糊控制工具箱,可以使用图像界面进行模糊控制器的设计,极大的简化了设计过程。下面介绍利用模糊工具箱进行控制系统设计的过程。在 matlab 的主窗口中输入 fuzzy 即可调出模糊工具箱界面,退出界面的时候会提示保存,保存格式为 fis, 如果我们将文件保存为 , 那么下次使用这个文件的时候在主窗口中输入 fuzzy njust 即可。模糊控制器的建立过程如下:( 1 )设定误差 E 、误差变化率 EC 和控制量 U 的论域为,一般为[-6 6] 。( 2 )设定 E、 EC 、U 的模糊集。一般可设为{NB 、 NM 、 NS 、 ZO 、 PS 、 PM 、 PB} 。(3) 设定隶属度函数。有高斯型隶属度函数、三角型隶属度函数等。(4) 设定模糊控制规则。常用的模糊控制规则如图 1 所示, 当然可以根据特定的控制对象和要求进行相应的调整。图1 常用模糊控制规则图2 添加变量点击 Edit->Add Variable 即可进行变量的添加,在右下方可以进行名称的修改,左下方是与或运算方式、去模糊化方式等的选择,一般可以使用默认方式即可。图3 添加论域与隶属度函数双击图 2 中左右两侧的矩形图像即可进行论域与隶属度函数编辑, 点击 Edit->Add MFs 即可进行隶属度函数的添加, 右下方可以选择隶属度函数类型, 左下方可以修改论域以及显示范围。图4 添加控制规则双击图 2 中中间的矩形图像即可进行模糊控制规则的编辑, 根据 ife or(and) ec then u 的形式进行添加规则, 可以修改规则权重。点击下方的 Add rule 和 Delete rule 即可进行规则添加和删除。至此完成模糊控制器的搭建。使用菜单栏中的 View->Rules 即可观察设计规则, 如图 5 所示。拖动输入变量中间的竖直线, 可以看到控制量的变化情况。图5 观察设计规则使用菜单栏中的 View->Surface 即可观察输入变量输出变量的三维曲面,如图 6 所示。图6 输入输出曲面模糊控