- 1、本文档共82页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
仿真教学..ppt
用MATLAB的模糊逻辑工具箱(Fuzzy toolbox)实现 模糊控制系统建模的关键是对模糊控制器的建模。Matlab软件提供了一个模糊推理系统(FIS)编辑器。 二、隶属度函数编辑器(Mfedit) 该编辑器提供一个友好的人机图形交互环境,用来设计和修改模糊推理系中各语言变量对应的隶属度函数的相关参数,如隶属度函数的形状、范围、论域大小等,系统提供的隶属度函数有三角、梯形、高斯形、钟形等,也可用户自行定义。 双击所选input,弹出一新界面,在左下Range处和Display Range处,填入取只范围,例如 0至9 (代表0至90)。 在右边文字输入Name处,填写隶属函数的名称,例如lt或LT(代表低温)。 在Type处选择trimf(意为:三角形隶属函数曲线,triangle member function),当然也可选其它形状。 三、模糊推理规则编辑器Rule editor 通过隶属度函数编辑器来设计和修改“IF...THEN”形式的模糊控制规则。由该编辑器进行模糊控制规则的设计非常方便,它将输入量各语言变量自动匹配,而设计者只要通过交互式的图形环境选择相应的输出语言变量,这大大简化了规则的设计和修改。另外,还可为每条规则选择权重,以便进行模糊规则的优化。 选Edit菜单,选择Rules, 弹出一新界面Rule Editor. 在底部的选择框内,选择相应的 IF…AND…THEN 规则,点击Add rule 键,上部框内将显示相应的规则。 四、模糊逻辑工具箱仿真结果 模糊规则浏览器用于显示各条模糊控制规则对应的输入量和输出量的隶属度函数。通过指定输入量,可以直接的显示所采用的控制规则,以及通过模糊推理得到相应输出量的全过程,以便对模糊规则进行修改和优化。 所有规则填入后,选菜单View, 选择Rules,弹出一新界面Rule Viewer,如下图所示。 上图表示当温度为45度、磁能为45瓦时,输出干度为约70个单位。左右拉动界面中的两支红线,拉到欲选的近似值,右边图顶显示相应的干度结果。 上图中选菜单View, 选择Surface,弹出一新界面Surface Viewer,如下图所示。 Matlab模糊控制仿真演示例子一 模型sltank.mdl —— 使用模糊控制器对水箱水位进行控制。 假定水箱有一个进水口和一个出水口,可以通过控制一个阀门来控制流入的水量(即水位高度),但是流出的速度取决于出水口的半径(定值)和水箱底部的压力(随水箱中的水位高度变化)。系统有许多非线性特性。 要求设计的目标是一个合适的进水口阀门的控制器,能够根据水箱水位的实时测量结果对进水阀门进行相应控制,使水位满足特定要求(即特定输入信号)。一般情况下,控制器以水位偏差(理想水位和实际水位的差值)及水位变化率作为输入,输出的控制结果是进水阀打开或关闭的速度。 在Matlab中仿真,可以看到出现一个水箱模型的仿真动画窗口。该动画由一个S函数“animtank.m”实现。从动画中,可以观察到实际系统的水位跟随殊荣的要求水位信号变化。 这里暂时不讨论具体的系统模型的构造问题,我们可以先在这个已经建立好的系统模型上进行修改,体验模糊逻辑与仿真环境结合使用的优势。 对于仿真模型系统中已经建立的水箱模块、阀门模块以及动画仿真显示模块可以直接使用,这里我们重点讨论与模糊推理系统设计问题相关的模糊系统变量 tank (即 MATLAB 的模糊逻辑推理系统)。在 MATLAB 命令窗口中键入命令 fuzzy tank ,就可以开始对模糊系统 tank 进行编辑了。 从上图的仿真控制结果曲线中可以看出上述由三条模糊规则组成的模糊控制系统的结果并不理想,因此可以再增加如下两条模糊控制规则: If(水位误差小且变化率为负) then (阀门缓慢关闭)(权重 1 ) If(水位误差小且变化率为正) then (阀门缓慢打开)(权重 1 ) 系统的输出变化曲线如下图所示。 从上图可以看出,在增加了模糊控制规则后,系统的动态特性得到较大改善,不但具有较短的响应时间,而且超调量也很小。可以用 Surfview tank 命令来显示模糊控制系统的输出曲面,如图所示。 在这个例子中,还可以用传统的 PID 控制方法与模糊逻辑推理控制进行比较。在水箱仿真环境主界面中将控制方法选择开关中间的 const 模块的值由由-1 改为 1 ,这时系统将用传统的 PID 控制方法进行控制,如图所示。 用命令行函数实现模糊逻辑系统 前面主要介绍了 MATLAB 图形化工具的使用, MATLAB 同样也提供了一些函数命令来实现模糊逻辑系统。 这些函数不仅能完全实现图形化方式所提供的功能,同时还可以实现图形化方式所难以实现的功能。 特别是对于那些
文档评论(0)