资源描述
(完整word版)模糊推理系统编辑器实验
实验二
一、 实验目的
1、 熟悉MATLAB中模糊系统工具箱的使用方法
2、 掌握模糊推理系统编辑器的使用
3、 掌握模糊规则以及模糊隶属度函数的意义和编辑器的使用方法
二、 实验内容
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中模糊系统工具箱的使用方法,学习了模糊推理系统编辑器的使用方法,学习了模糊规则以及模糊隶属度函数的意义和编辑器的使用方法。巩固了课堂知识,让我受益匪浅.
展开阅读全文