Matlab模糊工具箱的使用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
模糊控制由于不依赖对象的数学模型而受到广泛的重视,计算机仿真是研究模糊控制系统的重要手段之一。由Math Works公司推出的Matlab软件,为控制系统的计算机仿真提供了强有力的工具,特别是在Matlab4.2以后的版本中推出的模糊工具箱(Fuzzy Toolbox),为仿真模糊控制系统提供了很大的方便。由于这样的模块都是由相关领域的著名学者开发的,所以其可信度都是很高的,仿真结果是可靠的。
在Simulink环境下对控制系统进行建模是非常方便的,而模糊控制系统与常见控制系统的结构基本相同,仅仅是控制器不同。所以,对模糊控制系统的建模关键是对模糊控制器的建模。Matlab软件提供了一个模糊推理系统(FIS)编辑器,只要在Matlab命令窗口键入fuzzy命令就可进入模糊控制器编辑环境。
一、模糊推理系统编辑器(Fuzzy)
模糊推理系统编辑器用于设计和显示模糊推理系统的一些基本信息,如推理系统的名称,输入、输出变量的个数与名称,模糊推理系统的类型、解模糊方法等。其中模糊推理系统可以采用Mandani或Sugeuo两种类型,解模糊方法有最大隶属度法、重心法、加权平均等。
打开模糊推理系统编辑器,在MATLAB的命令窗(command window)内键入:“fuzzy”命令,弹出模糊推理系统编辑器界面,如下图所示。
首先确定输入、输出变量的个数,在Edit菜单中,选Add variableÆinput,加入新的输入input;
选Add variableÆoutput,加入新的输出output。
修改名称
二、隶属度函数编辑器(Mfedit)
该编辑器提供一个友好的人机图形交互环境,用来设计和
修改模糊推理系中各语言变量对应的隶属度函数的相关参数,
如隶属度函数的形状、范围、论域大小等,系统提供的隶属度
函数有三角、梯形、高斯形、钟形等,也可用户自行定义。
双击任一个输入或输出模块,进入成员函数编辑界面。
在成员变量编辑界面中,
“Range”Æ确定变量的论域;
“Name”Æ确定隶属函数的名称;
“Type”Æ确定隶属度函数类型;
如果显示的曲线数量不够(曲线的数量等于模糊集中),点击Edit菜单,选Add Custom MSÆ继续填入相应参数即可。
三、模糊规则编辑器
在确定输入输出变量和隶属度函数之后,接下来就是编写模糊规则。
模糊规则采用“IF A THEN B”的形式。
多输入多输出的模糊规则:
“IF A AND B AND ···THEN C AND ···”。
选择菜单“Edit”Æ“Rules”,打开模糊规则编辑器,如图所示:
在模糊规则编辑完成之后,点击菜单“View”Æ“Surface”
即可查看右
图所示图形。
完成上述工作后,将编写好的模糊控制器存盘。
(1)保存到磁盘上
在菜单上选择“File”Æ“Export”Æ“To disk”,选择保存路径,即可以*.fis文件的格式保存。
(2)保存到工作空间
在菜单上选择“File”Æ“Export”Æ“To Workspece”即可。
四、在simulink中使用模糊控制
在模糊工具箱将模糊控制器编写完成后,就可以在simulink中使用该模糊控制器来进行仿真了。
在simulink中新建一个文件,
然后在“fuzzy logic toolbox”中
选择“fuzzy logic Controller”模块。
双击此模块,在弹出的对话框中
添加所用的模糊控制器的名称,(即刚
才保存到工作空间的模糊控制器,名称后
不加后缀)。
上图是一个模糊控制器在simulink下的一个仿真框图,采用2输入3输出的结构,为一个参数可调整的模糊PID控制器模型。
k1和k2是量化因子,其选择非常重要,是保证输出落入所定义的输入变量的论域的关键因素,量化因子选择不好,模糊控制器不进起不到较好的控制效果,甚至比不用模糊更差。
输出端也应该添加一个比例因子,使模糊的输出对应实际的输出。
以上就是对Matlab中模糊工具箱使用的简单介绍,使用这个工具箱比通过.m文件来编程实现模糊控制要方便很多。
Matlab中模糊工具箱的使用比较简单,关键是模糊控制理论的理解和应用,以及系统的建模等。