您的当前位置:首页正文

(完整word版)模糊推理系统编辑器实验

2023-01-12 来源:个人技术集锦
实验二

一、 实验目的 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中模糊系统工具箱的使用方法,学习了模糊推理系统编辑器的使用方法,学习了模糊规则以及模糊隶属度函数的意义和编辑器的使用方法。巩固了课堂知识,让我受益匪浅。

因篇幅问题不能全部显示,请点此查看更多更全内容