MATLAB模糊逻辑工具箱函数
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
20
例 >> fisMat=readfis('tipper') 或 >>fisMat=readfis('tipper'); getfis(fisMat,'type') >>fisMat=readfis('tipper'); getfis(fisMat,'input',1); >>fisMat=readfis('tipper'); getfis(fisMat,'input',1,'name') >>fisMat=readfis('tipper'); getfis(fisMat,'input',1,'mf',2); >>fisMat=readfis('tipper'); getfis(fisMat,'input',1,'mf',2,'name')
plotfis( )
图形显示模糊推理系统的输入—输出特性
15
1 .创建新的模糊推理系统函数newfis( ) 该函数用于创建一个新的模糊推理系统,模糊推理 系统的特性可由函数的参数指定,其参数个数可达7个 。调用格式为 fisMat=newfis(‘fisName’,fisType,andMethod,orMethod, impMethod,aggMethod,defuzzMethod)
16
例:>>fisMat=newfis(‘mysys’);getfis(fisMat) 显示:Name = mysys Type = mamdani NumInputs = 0 InLabels = NumOutputs = 0 OutLabels = NumRules = 0 AndMethod = min OrMethod = max ImpMethod = min AggMethod = max DefuzzMethod = centroid
7
1 基于标准模型的模糊逻辑系统 在标准型模糊逻辑系统中,模糊规则的前件和后件 均为模糊语言值,即具有如下形式: IF x1 is A1 and x2 is A2 and…and xn is An THEN y is B 基于标准模型的模糊逻辑系统的框图如图5-1。图 中的模糊规则库由若干“IF——THEN”规则构成。模 糊推理机在模糊推理系统中起着核心作用,它将输入 模糊集合按照模糊规则映射成输出模糊集合。它提供 了一种量化专家语言信息和在模糊逻辑原则下系统地 利用这类语言信息的一般化模式。
21
4. 将模糊推理系统以矩阵形式保存在内存中的数据 写入磁盘文件函数writefis( ) 模糊推理系统在内存中的数据是以矩阵形式存储的, 其对应的矩阵名为fisMat。当需要将模糊推理系统的 数据写入磁盘文件时,就可利用writefis( )函数。其调 用格式为 writefis(fisMat) writefis(fisMat,’filename’) writefis(fisMat,’filename’,’dialog’) 例: >>fisMat=newfis(’tipper’);writefis(fisMat,’my_ file’)
13
5.2 利用模糊逻辑工具箱建立模糊推理系统
5.2.1 模糊推理系统的建立、修改与存储管理 前面讨论了模糊推理系统的主要构成部分,即 一个模糊推理系统由输入、输出语言变量及其隶属 度函数、模糊规则、模糊推理机和去模糊化方法等 各部分组成,在MATLAB模糊逻辑工具箱中,把模 糊推理系统的各部分作为一个整体,并以文件形式 对模糊推理系统进行建立、修改和存储等管理功能 。表5-1所示为该工具箱提供的有关模糊推理系统管 理的函数及其功能。
n i 1 i i
9
可以看出,高木-关野模糊逻辑系统的输出量 是精确值。这类模糊逻辑系统的优点是输出量可用 输入值的线性组合来表示,因而能够利用参数估计 方法来确定系统的参数ci(i=1,2,…,n);同时,可以应 用线性控制系统的分析方法来近似分析和设计模糊 逻辑系统。其缺点是规则的输出部分不具有模糊语 言值的形式,因此不能充分利用专家的控制知识, 模糊逻辑的各种不同原则在这种模糊逻辑系统中应 用的自由度也受到限制。
22
5. 以分行的形式显示模糊推理系统矩阵的所有属 性函数showfis( ) 调用格式 showfis(fisMat) 其中 fisMat为模糊推理系统在内存中的矩阵表示。 例:>>fisMat=readfis(’tipper’);showfis(fisMat) 6. 设置模糊推理系统的属性函数setfis( ) 调用格式 fisMat=setfis(fisMat,’propname’,newprop)
2
1 MATLAB模糊逻辑工具箱简介
1.1 模糊逻辑工具箱的功能特点 1.易于使用 模糊逻辑工具箱提供了建立和测试模糊逻辑系 统的一整套功能函数,包括定义语言变量及其隶 属度函数、输入模糊推理规则、整个模糊推理系 统的管理以及交互式地观察模糊推理的过程和输 出结果。
3
2. 提供图形化的系统设计界面 在模糊逻辑工具箱中包含五个图形化的系统设计工 具,这五个设计工具是: • 模糊推理系统编辑器,该编辑器用于建立模糊逻辑 系统的整体框架,包括输入与输出数目、去模糊化方 法等; • 隶属度函数编辑器,用于通过可视化手段建立语言 变量的隶属度函数; • 模糊推理规则编辑器; • 系统输入输出特性曲面测览器; • 模糊推理过程浏览器。
6
5.1.2 模糊推理系统的基本类型 在模糊系统中,模糊模型的表示主要有两类:一类 是模糊规则的后件是输出量的某一模糊集合,如NB, PB等,由于这种表示比较常用,且首次由Mamdani采 用,因而称它为模糊系统的标准模型或Mamdani模型 表示;另一类是模糊规则的后件是输入语言变量的函 数,典型的情况是输入变量的线性组合。由于该方法 是日本学者高木(Takagi)和关野(Sugeno)首先提 出来的,因此通常称它为模糊系统的Takagi-Sugeno (高木-关野)模型,或简称为Sugeno模型。
>>fisMat=readfis('tipper');fisMat=setfis(fisMat,'input',1,'mf',2,'name','wretched')
4
3. 支持模糊逻辑中的高级技术 • 自 适 应 神 经 模 糊 推 理 系 统 ( ANFIS , Adaptive Neural Fuzzy Inference System); • 用于模式识别的模糊聚类技术; • 模糊推理方法的选择,用户可在广泛采用的 Mamdani型推理方法和 Sugeno型推理方法两者之间选 择。
MATLAB模糊逻辑 工具箱函数
1
MATLAB模糊逻辑工具箱简介
2
3
利用模糊逻辑工具箱建立模糊推理系统
MATLAB模糊逻辑工具箱的图形用户界面
4
基于Simulink的模糊逻辑的系统模块
1
针对模糊逻辑尤其是模糊控制的迅速推广应用, MathWorks公司在其MATLAB版中添加了Fuzzy Logic 工具箱。该工具箱由长期从事模糊逻辑和模糊控制研 究与开发工作的有关专家和技术人员编制。 MATLAB Fuzzy Logic工具箱以其功能强大和方便易 用的特点得到了用户的广泛欢迎。模糊逻辑的创始人 Zadeh教授称赞该工具箱“在各方面都给人以深刻的 印象,使模糊逻辑成为智能系统的概念与设计的有效 工具。”
12
针对模糊逻辑系统的以上主要构成,在MATLAB 模糊逻辑工具箱中构造一个模糊推理系统有如下步骤: (1)模糊推理系统对应的数据文件,其后缀为.fis ,用于对该模糊系统进行存储、修改和管理; (2)确定输入、输出语言变量及其语言值; (3)确定各语言值的隶属度函数,包括隶属度函数 的类型与参数; (4)确定模糊规则; (5)确定各种模糊运算方法,包括模糊推理方法、 模糊化方法、去模糊化方法等。
17
2. 从磁盘中加载模糊推理系统函数readfis( ) 调用格式 fisMat=readfis(‘filemame’)
18
例如利用以下命令可加载一个MATLAB自带的关于“小 费”问题的模糊推理系统tipper.fis。
>>fisMat=readfis('tipper');getfis(fi源自文库Mat); 结果显示: Name = tipper Type = mamdani NumInputs = 2 InLabels = service food NumOutputs = 1 OutLabels = tip NumRules = 3 AndMethod = min OrMethod = max ImpMethod = min AggMethod = max DefuzzMethod = centroid
19
3. 获得模糊推理系统的属性函数getfis( ) 利用getfis( )可获取模糊推理系统的部分或全部特性,格式为 getfis(fisMat) getfis(fisMat,’fisPropname’) getfis(fisMat,’varType’,varIndex,’varPropname’); getfis(fisMat,’varType’,varIndex,’mf’,mfIndex) getfis(fisMat,’varType’,varIndex,’mf’,mfIndex,’mfPropname’);
5
4. 集成的仿真和代码生成功能 模糊逻辑工具箱不但能够实现Simulink的无缝连接, 而且通过 Real-Time Workshop能够生成ANSI C源代 码,从而易于实现模糊系统的实时应用。 5. 独立运行的模糊推理机 在用户完成模糊逻辑系统的设计后,可以将设计结 果以ASCII码文件保存;利用模糊逻辑工具箱提供的模 糊推理机,可以实现模糊逻辑系统的独立运行或者作 为其他应用的一部分运行。
14
表5-1 模糊推理系统的管理函数
函数名
newfis( ) readfis( ) getfis( ) writefis( )
功 能
创建新的模糊推理系统 从磁盘读出存储的模糊推理系统 获得模糊推理系统的特性数据 保存模糊推理系统
showfis( )
setfis( )
显示添加注释了的模糊推理系统
设置模糊推理系统的特性
fisMat=setfis(fisMat,vartype,varindex,’propname’,newprop)
fisMat=setfis(fisMat,vartype,varindex,’mf’,mfindex,’propname’,nemeprop);
23
该函数可以有3个、5个或7个输入参数。例 >>fisMat=readfis('tipper');fisMat=setfis(fisMat,'name','eating') 或 >>fisMat=readfis('tipper');fisMat=setfis(fisMat,'input',1,'name','help')
其中Ai(i=1,2,…,n)是输入模糊语言值,B是输出模糊语言值。
图5-1 基于标准模型的模糊逻辑系统原理图
8
2 基于高木——关野(Takagi——Sugeno)模型的 模糊逻辑系统 高木——关野模糊逻辑系统是一类较为特殊的模 糊逻辑系统,其模糊规则不同于一般的模糊规则形式。 在高木——关野模糊逻辑系统中,采用如下形式 的模糊规则: IF x1 is A1 and x2 is A2 and…and xn is An THEN y c 其中Ai(i=1,2,…,n)是输入模糊语言值,ci(i=1,2,…,n)x 是真值参数。
10
5.1.3 模糊逻辑系统的构成 前面讨论了模糊逻辑系统的基本类型,标准型 模糊逻辑系统应用最为广泛。在MATLAB模糊逻辑 工具箱中主要针对这一类型的模糊逻辑系统提供了 分析和设计手段,但同时对高木一关野模糊逻辑系 统也提供了一些相关函数。下面将以标准型模糊逻 辑系统作为主要讨论对象。
11
构造一个模糊逻辑系统,首先必须明确其主要组成 部分。一个典型的模糊逻辑系统主要由如下几个部分 组成: (1)输入与输出语言变量,包括语言值及其隶属度 函数; (2)模糊规则; (3)输入量的模糊化方法和输出变量的去模糊化方 法; (4)模糊推理算法。