用MATLAB的模糊逻辑工具箱Fuzzytoolbox实现 联系客服

发布时间 : 星期五 文章用MATLAB的模糊逻辑工具箱Fuzzytoolbox实现更新完毕开始阅读b84c3f0da0c7aa00b52acfc789eb172ded6399a7

方法二:用MATLAB的模糊逻辑工具箱(Fuzzy toolbox)实现

(陈老师 整理)

一、模糊逻辑推理系统的总体特征

模糊控制由于不依赖对象的数学模型而受到广泛的重视,计算机仿真是研究模糊控制系统的重要手段之一。由Math Works公司推出的Matlab软件,为控制系统的计算机仿真提供了强有力的工具,特别是在Matlab4.2以后的版本中推出的模糊工具箱(Fuzzy Toolbox),为仿真模糊控制系统提供了很大的方便。由于这样的模块都是由相关领域的著名学者开发的,所以其可信度都是很高的,仿真结果是可靠的。

在Simulink环境下对PID控制系统进行建模是非常方便的,而模糊控制系统与PID控制系统的结构基本相同,仅仅是控制器不同。所以,对模糊控制系统的建模关键是对模糊控制器的建模。Matlab软件提供了一个模糊推理系统(FIS)编辑器,只要在Matlab命令窗口键入Fuzzy就可进入模糊控制器编辑环境。

二、Matlab模糊逻辑工具箱仿真

1. 模糊推理系统编辑器(Fuzzy)

模糊推理系统编辑器用于设计和显示模糊推理系统的一些基本信息,如推理系统的名称,输入、输出变量的个数与名称,模糊推理系统的类型、解模糊方法等。其中模糊推理系统可以采用Mandani或Sugeuo两种类型,解模糊方法有最大隶属度法、重心法、加权平均等。

打开模糊推理系统编辑器,在MATLAB的命令窗(command window)内键入:fuzzy 命令,弹出模糊推理系统编辑器界面,如下图所示。

因为我们用的是两个输入,所以在Edit菜单中,选Add variable… ->input,加入新的输入input,如下图所示。

选择input(选中为红框),在界面右边文字输入处键入相应的输入名称,例如,温度输入用 tmp-input, 磁能输入用 mag-input,等。

2.隶属度函数编辑器(Mfedit)

该编辑器提供一个友好的人机图形交互环境,用来设计和修改模糊推理系中各语言变量对应的隶属度函数的相关参数,如隶属度函数的形状、范围、论域大小等,系统提供的隶属度函数有三角、梯形、高斯形、钟形等,也可用户自行定义。

双击所选input,弹出一新界面,在左下Range处和Display Range处,填入取只范围,例如 0至9 (代表0至90)。

在右边文字文字输入Name处,填写隶属函数的名称,例如lt或LT(代表低温)。 在Type处选择trimf(意为:三角形隶属函数曲线,triangle member function),当然也可选其它形状。

在Params(参数)处,选择三角形涵盖的区间,填写三个值,分别为三角形底边的左端点、中点和右端点在横坐标上的值。这些值由设计者确定。

见下图。

用类似的方法设置输出output的参数。注意:我们共有9个规则,所以相应地有9个输出隶属函数。默认3个隶属函数,剩下6个由设计者加入。点击Edit菜单,选 Add Custom MS…->继续填入相应参数即可。

见下图。

3 用命令行函数实现烘干机模糊逻辑系统

通过隶属度函数编辑器来设计和修改“IF...THEN”形式的模糊控制规则。由该编辑器进行模糊控制规则的设计非常方便,它将输入量各语言变量自动匹配,而设计者只要通过交互式的图形环境选择相应的输出语言变量,这大大简化了规则的设计和修改。另外,还可为每条规则选择权重,以便进行模糊规则的优化。

在上面的界面中,选Edit菜单,选择Rules, 弹出一新界面Rule Editor. 在底部的选择框内,选择相应的 IF…AND…THEN 规则,点击Add rule 键,上部框内将显示相应的规则。本次课题中用到了9条左右的规则,依次加入。如下图所示: