一、 实验目的 1、 2、 3、
熟悉MATLAB中模糊系统工具箱的使用方法 掌握模糊推理系统编辑器的使用
掌握模糊规则以及模糊隶属度函数的意义和编辑器的使用
方法
二、 实验内容 1、
模糊推理系统编辑器
1) 命令窗口中键入命令:fuzzy,激活基本模糊推理系统编
辑器,选择菜单“File→Export→to workspace…”,以“wuyunhe233080108”为文件名保存到工作空间,如图1所示:
图1 基本模糊推理系统编辑器
2) 选择菜单“Edit→add Variable…→Input”添加输入变量,
使系统成为双输入,然后为变量命名:input1→service(服务),input2→food(食物),output1→tip,如图2所示:
图2 双输入模糊控制系统
2、
隶属度函数编辑器
在命令窗口输入mfedit或者用菜单选项“Edit→Membership
Function”都可以打开隶属度函数编辑器。
对于变量service,加入三个模糊隶属度函数分别如下:
Name=’service’ Range=[0 10] MumMfs=3
MF1=’poor’:’gaussmf’,[1.5 0] MF2=’good’:’gaussmf’,[1.5 0]
MF3=’excellent’:’gaussmf’,[1.5 0]
对于变量service,加入三条隶属度函数分别如下: Name=‘service’ Range=[0 10] MumMfs=3
MF1=‘poor’’: ‘gaussmf’,[1.5 0] MF2=‘good’: ‘gaussmf’,[1.5 5] MF3=‘excellent’: ‘gaussmf’,[1.5 10]
对于变量food,加入两条隶属函数: Name=‘food’ Range=[0 10] MumMfs=2
MF1=‘rancid’: ‘trapmf’,[0 0 1 3] MF2=‘delicious’: ‘trapmf’,[7 9 10 10]
对于变量tip,加入三条隶属函数: Name=‘tip’ Range=[0 30] MumMfs=3
MF1=‘cheap’: ‘trimf’,[0 5 10] MF2=‘average’: ‘trimf’,[10 15 20] MF3=‘generous’: ‘trimf’,[20 25 30]
完成上述的隶属度函数编辑后,保存文件到workspace,可以得到图3,图4和图5的界面。 3、模糊规则编辑器
在命令窗口中键入ruleedit或者选择模糊规则菜单都可以打开模糊规则编辑器。
例如,在service变量中选取poor,在food变量中选取rancid,在connection中选取or,单击Add rule,出现结果:
If(service is poor)or (food is rancid) then (tip is cheap)(1) 括号中的数字是该规则的权重值。
在option中更改format选项还可以得到不同的显示方式。 将显示方式设置为symbolic,显示将变为: (service==poor)|(food==rancid)=>(tip==cheap)(1) 将显示方式设置为indexed,显示将变为: 1. 1,1(1):2
依据此模糊规则编辑并保存文件到workspace,可得到图6显示的结果。
图3
图4
图5
图6
4、模糊推理输入、输出曲面视图
在MATLAB命令窗口中输入surface,显示模糊推理系统的输入、输出特性曲面,如图7所示。
图7
三、 实验体会
本实验是基于模糊控制fuzzy函数的,建立了service、food、tip三个模糊变量,并分别对这三个模糊变量建立对应的隶属度函数,根据实际情况建立模糊规则,如图6所示,从而等到模糊推理系统的输入、输出特性曲面,如图7所示。通过这次实验学习了MATLAB中模糊系统工具箱的使用方法,学习了模糊推理系统编辑器的使用方法,学习了模糊规则以及模糊隶属度函数的意义和编辑器的使用方法。巩固了课堂知识,让我受益匪浅。
因篇幅问题不能全部显示,请点此查看更多更全内容