模糊控制技术模糊控制Matlab仿真

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
选Edit菜单,选择Rules, 弹出一新界面Rule Editor. 在底部的选择框内,选择相应的 IF…AND…THEN 规则,点击Add rule 键,上部 框内将显示相应的规则。本例中用9条左右的规 则,依次加入。如下图所示:
模糊逻辑工具箱仿真结果
模糊规则浏览器用于显示各条模糊控制规则对 应的输入量和输出量的隶属度函数。通过指定 输入量,可以直接的显示所采用的控制规则, 以及通过模糊推理得到相应输出量的全过程, 以便对模糊规则进行修改和优化。
该编辑器提供一个友好的人机图形交互环境,用 来设计和修改模糊推理系中各语言变量对应的隶 属度函数的相关参数,如隶属度函数的形状、范 围、论域大小等,系统提供的隶属度函数有三角、 梯形、高斯形、钟形等,也可用户自行定义。
双击所选input,弹出一新界面,在左下Range处 和Display Range处,填入取只范围,例如 0至9 (代表0至90)。
多个输入时,在Edit菜单中,选Add variable… >input,加入新的输入input,如下图所示
选择 input(选中 为红框),在 界面右边文 字输入处键 入相应的输 入名称,例 如,温度输入 用 tmpinput, 磁能 输入用 maginput,等。
隶属度函数编辑器源自文库Mfedit)
注意将鼠标箭头放置图内,移动鼠标可得到不同 角度的视图,如下图所示。
模型sltank.mdl ——使用模糊控制器对水箱水位进 行控制。
假定水箱有一个进水口和一个出水口,可以通过控 制一个阀门来控制流入的水量(即水位高度),但 是流出的速度取决于出水口的半径(定值)和水箱 底部的压力(随水箱中的水位高度变化)。系统有 许多非线性特性。
对于仿真模型系统中已经建立的水箱模块、阀门模块 以及动画仿真显示模块可以直接使用,这里我们重点 讨论与模糊推理系统设计问题相关的模糊系统变量 tank (即 MATLAB 的模糊逻辑推理系统)。在 MATLAB 命令窗口中键入命令 fuzzy tank ,就可以开 始对模糊系统 tank 进行编辑了。
所有规则填入后,选菜单View, 选择Rules,弹 出一新界面Rule Viewer,如下图所示。
上图表示当温度为45度、磁能为45瓦时,输出 干度为约70个单位。左右拉动界面中的两支红 线,拉到欲选的近似值,右边图顶显示相应的 干度结果。
上图中选菜单View, 选择Surface,弹出一新界 面Surface Viewer,弹出该课题结果的三维图。 如下图所示。
模糊推理系统编辑器(Fuzzy)
模糊推理系统编辑器用于设计和显示模糊推理 系统的一些基本信息,如推理系统的名称,输 入、输出变量的个数与名称,模糊推理系统的 类型、解模糊方法等。其中模糊推理系统可以 采用Mandani或Sugeuo两种类型,解模糊方法 有最大隶属度法、重心法、加权平均等。
打开模糊推理系统编辑器,在MATLAB的命令窗 (command window)内键入:fuzzy 命令,弹 出模糊推理系统编辑器界面,如下图所示。
要求设计的目标是一个合适的进水口阀门的控制器, 能够根据水箱水位的实时测量结果对进水阀门进行 相应控制,使水位满足特定要求(即特定输入信 号)。一般情况下,控制器以水位偏差(理想水位 和实际水位的差值)及水位变化率作为输入,输出 的控制结果是进水阀打开或关闭的速度。
PID控 制模块
阀门 水箱 模型 模型
用类似的方法设置输出output的参数。比如:共有9个规 则,所以相应地有9个输出隶属函数。默认3个隶属函数, 剩下6个由设计者加入。点击Edit菜单,选 Add Custom MS…->继续填入相应参数即可。
模糊推理规则编辑器Ruleedit
通过隶属度函数编辑器来设计和修改“IF...THEN” 形式的模糊控制规则。由该编辑器进行模糊控制 规则的设计非常方便,它将输入量各语言变量自 动匹配,而设计者只要通过交互式的图形环境选 择相应的输出语言变量,这大大简化了规则的设 计和修改。另外,还可为每条规则选择权重,以 便进行模糊规则的优化。
仿真动 画演示
模糊控 制模块
在Matlab中仿真,可 以看到出现一个水箱 模型的仿真动画窗口。 该动画由一个S函 数”animtank.m”实现。 从动画中,可以观察 到实际系统的水位跟 随殊荣的要求水位信 号变化。
如果对S函数的实现感兴趣,可以键入命令open animtank(或edit animtank)来查看” animtank.m” 文件。
模糊控制的Matlab仿真
Matlab4.2以后的版本中推出的模糊工具箱 (Fuzzy Toolbox),为仿真模糊控制系统提供了 很大的方便。
在Simulink环境下对PID控制系统进行建模是 非常方便的,而模糊控制系统与PID控制系统 的结构基本相同,仅仅是控制器不同。
对模糊控制系统的建模关键是对模糊控制器的 建模。Matlab软件提供了一个模糊推理系统 (FIS)编辑器,只要在Matlab命令窗口键入 Fuzzy就可进入模糊控制器编辑环境。
在右边文字文字输入Name处,填写隶属函数的名 称,例如lt或LT(代表低温)。
在Type处选择trimf(意为:三角形隶属函数曲线, triangle member function),当然也可选其它形 状。
在Params(参数)处,选择三角形涵盖的区间,填写三个值, 分别为三角形底边的左端点、中点和右端点在横坐标上的 值。这些值由设计者确定。
在Simulink编辑窗口左边的模块浏览区可以看 到在水箱仿真系统中包括水箱子模型、阀门子 模型及 PID 控制子模型。直接在浏览区中点 击或右键点击它们,并在弹出菜单中选择 [ look under mask 】 ,可以看到这些模块实 现的细节结构,如图 所示。
这里暂时不讨论具体的系统模型的构造问题,我们可 以先在这个已经建立好的系统模型上进行修改,体验 模糊逻辑与仿真环境结合使用的优势。
相关文档
最新文档