fcm模糊聚类matlab实例_simulink控制系统仿真之模糊控制系统仿真
模糊控制系统的核心是模糊控制器,也就是前面所介绍的模糊推理系统。本节将介绍如何将模糊控制器与simulink模型连接。进而建立模糊控制系统。模糊逻辑图形化工具模糊逻辑工具箱简介1.模糊逻辑图形化工具(GUI界面,上节内容)2. simulink模块在simulink模块浏览器中可以找到Fuzzy Logic Toolbox,它包含三类模块:隶属函数中包含许多不同类型隶属函数模块。后两个...

模糊控制系统的核心是模糊控制器,也就是前面所介绍的模糊推理系统。本节将介绍如何将模糊控制器与simulink模型连接。进而建立模糊控制系统。
模糊逻辑图形化工具模糊逻辑工具箱简介
1. 模糊逻辑图形化工具(GUI界面,上节内容)2. simulink模块
在simulink模块浏览器中可以找到Fuzzy Logic Toolbox,它包含三类模块:
隶属函数中包含许多不同类型隶属函数模块。后两个模块都是模糊逻辑控制器,区别在于后者带有规则观察器。对这两个模块使用look under mask(Crtl+u)可以看到内部结构。如下图所示。


3.MATLAB函数
(1)打开GUI所需函数|
名 称 |
功 能 |
|
fuzzy |
打开FIS编辑器 |
|
mfedit |
打开隶属函数编辑器 |
|
ruleedit |
打开规则编辑器 |
|
ruleview |
打开规则观察器 |
|
surfview |
打开曲面观察器 |
|
名称 |
功能 |
名称 |
功能 |
|
newfis |
新建一个fis文件 |
getfis |
获得fis属性 |
|
readfis |
导出fis文件到工作空间 |
setfis |
设置fis属性 |
|
writefis |
导出fis至文件 |
addmf |
添加隶属函数 |
|
genfis1 |
利用数据生成一个fis |
rmmf |
删除一个隶属函数 |
|
showfis |
展示fis细节 |
addvar |
向FIS添加变量 |
|
plotfis |
绘制fis |
emvar |
删除变量 |
|
addrule |
添加模糊规则 |
rmrule |
删除FIS的模糊规则 |
FIS与模糊逻辑控制器连接
要想使用Fuzzy Logic Controller模块,必须将FIS嵌入模块中。Fuzzy Logic Controller模块可以接受来自文件和工作空间的FIS。
(1)将FIS导入工作空间的两种方法:使用readfis函数(直接输入fis在磁盘中自己选择路径也可以)
fismat(可更换成自己想要的名字)=readfis('文件名')
通过FIS editor界面
输入fuzzy 文件名,在FIS editor中单击命令file-export-to workspace,自定义变量名称。
(2)把FIS嵌入模糊控制器模块
在仿真模型中,双击Fuzzy Logic Controller模块,填入FIS文件名称。

模糊控制系统的仿真
模糊控制系统仿真的基本步骤:
(1)创建FIS文件
(2)建立FIS文件与模糊控制器的连接
(3)构建模糊控制系统的仿真模型
(4)进行系统仿真
下面以一个例子详细说明构建模糊控制系统模型仿真的方法。
例:

(1)在MATLAB中输入fuzzy,创建一个新的FIS(M型)。
(2)编辑输入输出变量
以闭环系统误差e及误差率de为两个输入变量,被控对象的控制输入u为输出变量,考虑到控制目标为跟踪单位阶跃信号,误差e的范围需控制在[-1,1]内。输入变量e和de的论域均可取在[-1,1]内。同时为了满足输入的上界限制,取u的论域为[-2,2]。
按照表格输入各隶属函数

(3)编辑模糊规则
完成对输入、输出变量的编辑后,需要添加模糊规则,模糊规则的制定,是人经验来确定的,于是就有下面的分析当误差e为NB负大时,无论误差率de如何,控制输入都应该为NB负大,以尽快减小误差,所以有规则 Rulel: if e is NB then u is NB当误差c为NS负小时,就要考虑误差率的影响。如果de为NB负大,会导致c负,所以控制输入仍然应该为NB负大;如果de为ZE零或PS正小,则需要较小的控制输入以帮助误差c恢复至零;如果de为PB正大,则不怎么需要控制输入。所以有下面的规则。Rule2: ife is NS and de is NB then u is NB.Rule3: ife is NS and de is NS then u is NBRule4: if e is NS and de is ZE then u is NS.Rules: if e is NS and de is PS then u is NS.Rule6: if e is NS and de is PB then u is ZE.当误差c接近于零,即为ZE时,主要矛盾集中于稳定性,这时较小的控制输入会更加适合小幅度的调整,所以有下面的规则。Rule7: if e is ZE and de is NB then u is PS.Rule8: ife is ZE and de is NS then u is ZE.Rule9: ife is ZE and de is ZE then u is ZE.Rule10: ife is ZE and de is PS then u is ZERulell: if e is ZE and de is PB then u is NS.对称地可以得出余下的6条规则
(4)在FIS Editor界面上,选择file-export-to workspace,将FIS导入工作空间。
(5)建立如图仿真模型

可以看出曲线非常平稳。没有超调量,没有震荡。
利用PID控制器建立仿真模型,如下图所示。

确定一组PID参数:
仿真后,可以看出虽然系统较快趋于稳定,但产生了多次震荡,超调量很大。

对被控对象加入随机扰动(random number),再次建立模糊逻辑控制系统。发现响应曲线虽然波动,但一直稳定在1附近,说明模糊逻辑控制器具有一定干扰抑制作用。(中间报错,原因不明,暂无结果)



end
更多推荐


所有评论(0)