失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > matlab模糊控制图怎么导出_matlab模糊控制工具箱的使用

matlab模糊控制图怎么导出_matlab模糊控制工具箱的使用

时间:2023-03-05 10:18:39

相关推荐

matlab模糊控制图怎么导出_matlab模糊控制工具箱的使用

本学期选修了周川老师的智能控制及应用这门课程,大三时候曾上过周老师的英文版的控制工程基础这门课程,比较喜欢周老师上课的风格,智能控制这门课也收获不小,模糊控制是课程中讲到的第一个智能控制算法。

模糊不是真的模糊,模糊是为了精确。模糊控制中涉及到一个隶属度的概念,通常我们认为一个事物属于一个概念与否是确定的,比如数字电路的0与1,但是实际情况或者人们的思维习惯却不是这样的。比如规定18到30岁为青年,那么还差一天到18岁的人算不算青年呢?照规定看不算,但是如果我们加入概率的概念,比如说这个人90%属于青年人,可能更符合人们的思维习惯。

L.A.Zadeh在其《不相容原理》所述:“随着系统的复杂程度不断提高,人们对其精确而有意义地描述的能力不断的降低,以致在达到某一个阈值之后,系统的精确性和复杂性之间呈现出几乎是相互完全排斥的性质”。我们通常所用的控制算法一般是建立在模型比较确定的情况下,而模糊控制不依赖于对象的模型就可以进行控制决策,而且对系统参数变化具有较强的适应性。

对于模糊控制的原理,我不是很清楚,也没有这个心情去搞清楚,感觉知道大概怎么用就可以了。Matlab中集成了模糊控制工具箱,可以使用图像界面进行模糊控制器的设计,极大的简化了设计过程。下面介绍利用模糊工具箱进行控制系统设计的过程。

在matlab的主窗口中输入fuzzy即可调出模糊工具箱界面,退出界面的时候会提示保存,保存格式为fis,如果我们将文件保存为njust.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中中间的矩形图像即可进行模糊控制规则的编辑,根据if e or(and) ec then

u的形式进行添加规则,可以修改规则权重。点击下方的Add rule和Delete

rule即可进行规则添加和删除。至此完成模糊控制器的搭建。

使用菜单栏中的View->Rules即可观察设计规则,如图5所示。拖动输入变量中间的竖直线,可以看到控制量的变化情况。

图5 观察设计规则

使用菜单栏中的View->Surface即可观察输入变量输出变量的三维曲面,如图6所示。

图6 输入输出曲面

模糊控制系统的框图如图7所示,其中虚线内即为建立好的模糊控制器。图8为在matlab中建立的某模糊控制系统实例。其中的fuzzy logic controller模块在simulink中的Fuzzy Logic Toolbox内,若是找不到的话可以使用搜索功能即可。若我们保存的模糊控制器文件为njust.fis,那么双击图8中的模糊控制器模块,输入njust即可。一般来说这个模糊控制器模块是两输入一输出的,所在输入前要添加一个向量组合工具mux。

图7 模糊控制系统结构框图

图8 matlab模糊控制系统实例

我们看到图7中有Ke、Kec和Ku三个权系数,查阅文献可知ke和kec对系统的动态性能影响较大,它们的大小意味着对输入误差和误差变化的不同加权程度,ke变大缩短上升时间,但是增大系统超调;kec变大减小系统超调,但是响应速率变慢。输出比例因子ku也影响模糊控制系统的性能,ku过小,系统的动态响应过程变长,ku过大会导致系统震荡。综合调整以上三个因子,获得所需要的控制性能。当然它们有一定的计算方法,没有深入研究过,不过所谓的计算方法好像也是存在问题的。这里特别要注意的是饱和模块的上下限就是我们设定的论域范围。

最后进行模糊控制系统仿真的时候有两点需要注意:一是仿真算法的设置。如果使用默认的算法,会发现速度很慢,几乎没有进度,需要在Simulation->Configuration

Parameters中对取消过零点的限制。如图9所示。

图9 仿真算法的修改

另外需要注意的一点是模糊控制器的加载。看到论坛上很多人问为什么会报错,很大程度上原因是因为模糊控制文件fis没有加载到空间中。在主窗口中调出所保存的fis文件,进行File->Export->To

Workspace即可。

当然了,也可以使用文件形式进行模糊控制器的设计,这里不讨论了,很多参考书上都有相应的函数介绍或者程序。

8月18日下午njust 电工楼 204房间

参考文献

[1] 刘金琨.智能控制[M].北京: 电子工业出版社,.

[2] 李国勇.智能控制及其Matlab实现[M].北京: 电子工业出版社,.

[3] 张国良,曾静,柯熙政等.模糊控制及其Matlab应用[M].西安: 西安交通大学出版社,2002.

CopyRight:版权所有若需转载或使用请联系作者

Email:dingqian12345@

如果觉得《matlab模糊控制图怎么导出_matlab模糊控制工具箱的使用》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。