第8章 模糊逻辑的MATLAB实现

合集下载

利用Matlab进行模糊逻辑和模糊控制的基本原理

利用Matlab进行模糊逻辑和模糊控制的基本原理

利用Matlab进行模糊逻辑和模糊控制的基本原理Matlab是一种强大的数学计算软件,广泛应用于各个领域的工程和科学研究。

在现实生活中,我们经常会遇到一些模糊不清、不确定的情况,而模糊逻辑和模糊控制正是用来处理这些模糊问题的有效工具。

本文将介绍利用Matlab进行模糊逻辑和模糊控制的基本原理,并通过一些具体案例来说明其在实际应用中的价值。

首先,我们需要了解模糊逻辑和模糊控制的基本概念和原理。

模糊逻辑是Lotfi Zadeh教授于1965年提出的一种处理模糊信息的形式化逻辑系统。

与传统的布尔逻辑只有两个取值(真和假)不同,模糊逻辑引入了模糊概念,可以处理多个取值范围内的逻辑判断。

其基本原理是将模糊的语言描述转化为数学上的模糊集合,然后通过模糊运算进行推理和决策。

在Matlab中,可以使用Fuzzy Logic Toolbox工具箱来进行模糊逻辑的建模和模拟。

该工具箱提供了一系列的函数和工具,可以帮助我们创建模糊逻辑系统、定义模糊集合和模糊规则,并进行输入输出的模糊化和去模糊化运算。

一个典型的模糊逻辑系统包括三个主要组成部分:模糊集合、模糊规则和模糊推理。

模糊集合用于描述模糊化的输入和输出变量,可以是三角形、梯形、高斯等形状。

模糊规则定义了模糊逻辑系统的推理过程,通常由一系列的if-then规则组成,如“如果温度较低,则输出加热”,其中“温度较低”和“加热”为模糊集合的标签。

模糊推理根据输入变量的模糊值和模糊规则,计算出输出变量的模糊值。

为了更好地理解模糊逻辑的原理和应用,我们以一个简单的案例来说明。

假设我们需要设计一个自动化灯光控制系统,使得灯光的亮度能够根据环境光线的强弱自动调节。

首先,我们需要收集一些实际的数据来建立模糊逻辑系统。

通过传感器测量到的环境光强度作为输入变量,设定的亮度值作为输出变量。

在Matlab中,可以使用Fuzzy Logic Designer来创建一个模糊逻辑系统。

首先,我们需要定义输入和输出变量,以及它们的模糊集合。

MATLAB中的模糊逻辑应用技巧

MATLAB中的模糊逻辑应用技巧

MATLAB中的模糊逻辑应用技巧绪论近年来,随着人工智能技术的不断发展与应用,模糊逻辑作为一种弥补了传统二值逻辑的不足的方法,被广泛应用于各个领域。

MATLAB作为一种功能强大的数学计算软件,提供了丰富的工具箱,使得模糊逻辑的建模和分析变得更加方便和高效。

本文将重点介绍MATLAB中模糊逻辑的应用技巧。

一、模糊集合的定义与表示在MATLAB中,模糊集合可以通过使用fuzzy工具箱来定义和表示。

在定义模糊集合时,我们需要明确模糊集合的隶属度函数以及对应的隶属度值。

可以使用trimf函数、trapmf函数、gaussmf函数等来定义隶属度函数的形状,并通过给定参数来确定具体的形状。

例如,我们可以使用trimf函数来定义一个三角隶属度函数,代码如下:```matlabx = 0:0.1:10;y = trimf(x, [3 5 7]);plot(x, y);```通过上述代码,我们可以绘制出一个在[3, 5, 7]范围内的三角形隶属度函数。

二、模糊关系的建立与描述在MATLAB中,可以使用fuzzy工具箱来建立和描述模糊关系。

模糊关系可以通过关联隶属度函数的模糊集合来定义,可以是矩阵形式或规则形式。

矩阵形式的模糊关系可以通过编写代码实现。

例如,我们可以建立一个三维矩阵表示的模糊关系,代码如下:```matlabx1 = 0:0.1:10;x2 = 0:0.1:10;x3 = 0:0.1:10;R = zeros(length(x1), length(x2), length(x3));for i = 1:length(x1)for j = 1:length(x2)for k = 1:length(x3)R(i, j, k) = min(trimf(x1(i), [2 3 4]), trimf(x2(j), [5 6 7]), trimf(x3(k), [8 9 10]));endendend```通过上述代码,我们可以建立一个三维矩阵表示的模糊关系,其中每个元素表示了一个具体的隶属度值。

MATLAB中的模糊逻辑与模糊系统应用

MATLAB中的模糊逻辑与模糊系统应用

MATLAB中的模糊逻辑与模糊系统应用引言:模糊逻辑是一种处理含糊和不确定性的推理方法,而模糊系统是基于模糊逻辑的一种工程应用。

在实际问题中,很多情况下无法准确界定事物的属性或关系,这就需要使用模糊逻辑和模糊系统进行描述和分析。

MATLAB作为一种强大的数学软件工具,提供了丰富的函数库和模块,可以非常方便地进行模糊逻辑和模糊系统的建模与分析。

本文将探讨MATLAB中的模糊逻辑与模糊系统应用,并介绍一些实际案例。

一、模糊逻辑的基本概念:1.1 模糊集合与隶属度函数在传统的逻辑中,事物的属性通常只有真和假两种取值,而在模糊逻辑中,属性被描述为一个介于[0,1]之间的隶属度。

模糊集合是指由一组对象组成的集合,每个对象在集合中的隶属度不是二进制的,而是介于0和1之间的实数。

隶属度函数是用来描述某个对象对于某个属性的隶属程度,通常使用三角形、梯形等形状的函数来表示。

1.2 模糊逻辑运算模糊逻辑中的运算方式与传统逻辑不同,引入了模糊的概念。

模糊逻辑运算包括交集、并集和补集等操作,用于描述模糊集合之间的关系。

这些运算可以通过模糊控制器、模糊推理等方式进行实现。

MATLAB提供了丰富的函数和工具箱来进行模糊逻辑运算和推理。

二、模糊系统的框架与建模过程:2.1 模糊系统的框架模糊系统通常由模糊化、模糊推理和去模糊化三个主要部分组成。

模糊化是将输入的实际值映射到模糊集合中,模糊推理是根据规则和隶属度函数进行推理,得出输出的模糊结果,去模糊化则是将模糊结果转化为实际值。

2.2 模糊系统的建模过程模糊系统的建模过程包括变量的模糊化、规则的定义、隶属度函数的设定以及模糊推理等步骤。

MATLAB提供了一系列的函数和工具箱用于模糊系统的建模和分析。

利用MATLAB的模糊工具箱,可以方便地进行隶属度函数的设定、规则的定义以及模糊推理的实现。

三、模糊逻辑与模糊系统在实际问题中的应用:3.1 模糊控制器模糊控制器是模糊逻辑和模糊系统的一种应用,它利用模糊推理和模糊系统来实现对控制系统的控制。

Matlab中的模糊逻辑与推理方法

Matlab中的模糊逻辑与推理方法

Matlab中的模糊逻辑与推理方法近年来,随着人工智能技术的快速发展,模糊逻辑与推理方法在解决现实世界中模糊、不确定问题方面发挥了重要的作用。

而在实现这些方法中,Matlab作为一个强大的科学计算软件,为研究人员提供了丰富的工具和函数库。

本文将介绍Matlab中的模糊逻辑与推理方法,并探讨它们在各个领域中的应用。

首先,我们先来了解一下模糊逻辑和推理的基本概念。

模糊逻辑是一种非二元逻辑,它把不确定性和模糊性考虑进了逻辑演绎的过程中。

与传统的布尔逻辑只有真和假两种状态不同,模糊逻辑引入了隶属度的概念,用于表示一个命题在某种程度上成立的可能性。

推理则是通过一系列的逻辑推导,从已知的事实中得出结论或推测。

模糊推理方法是在模糊逻辑的基础上,运用模糊推理规则进行推理的一种方法。

Matlab中的模糊逻辑与推理方法主要包括模糊集合的表示和运算、模糊关系的建立、模糊推理规则的定义和模糊推理的实现。

首先,我们需要了解模糊集合的表示和运算。

在Matlab中,可以使用模糊集合对象来表示和处理模糊集合。

模糊集合对象通常由隶属函数和模糊隶属度组成。

隶属函数用于描述一个元素对于一个模糊集合的隶属程度,而模糊隶属度则表示一个元素属于该模糊集合的可能性大小。

Matlab提供了一系列函数用于生成和操作模糊集合对象,如fuzzysim、fuzzyinterp 等。

其次,我们需要建立模糊关系。

模糊关系是一种描述两个或多个元素之间模糊联系的数学工具。

在Matlab中,可以使用模糊关系矩阵来表示模糊关系。

模糊关系矩阵是一个矩阵,其中每个元素都表示两个元素之间的模糊隶属度。

Matlab提供了一系列函数用于生成和操作模糊关系矩阵,如fuzzyrel、fuzzycomp等。

接下来,我们需要定义模糊推理规则。

模糊推理规则用于描述不确定问题的推理过程。

在Matlab中,可以使用模糊推理规则对象来表示和处理模糊推理规则。

模糊推理规则对象通常由条件部分和结论部分组成。

如何利用Matlab进行模糊逻辑控制

如何利用Matlab进行模糊逻辑控制

如何利用Matlab进行模糊逻辑控制Matlab是一种流行的数学软件,广泛应用于科学和工程领域。

其中一个强大的功能是模糊逻辑控制,它可以帮助人们解决模糊问题。

本文将介绍如何利用Matlab进行模糊逻辑控制,以及其在实际应用中的价值和局限性。

1. 什么是模糊逻辑控制?模糊逻辑控制是一种基于模糊推理的控制方法。

与传统的二值逻辑不同,模糊逻辑可以处理模糊的、不确定的信息。

它将模糊集合和模糊规则引入到控制系统中,使得系统能够根据输入数据和模糊规则进行推理,并输出相应的控制信号。

2. Matlab中的模糊逻辑工具箱Matlab提供了强大的模糊逻辑工具箱,可以用于模糊逻辑控制系统的设计和仿真。

该工具箱包含了模糊集合的定义、模糊规则的建立、模糊控制器的设计等功能。

用户可以通过简单的命令和图形界面进行操作,快速构建模糊逻辑控制系统。

3. 模糊集合的定义模糊集合是模糊逻辑的基础,它用来描述对于一个特定的输入值,它属于某个特定集合的程度。

在Matlab中,我们可以使用模糊集合来定义输入和输出的隶属度函数。

例如,对于一个温度控制系统,我们可以定义一个“冷”的模糊集合和一个“热”的模糊集合,它们分别代表了输入量的不同程度。

4. 模糊规则的建立在模糊逻辑控制系统中,模糊规则用于描述输入和输出之间的关系。

在Matlab 中,我们可以使用模糊规则来定义输入值和输出值之间的映射关系。

例如,对于一个简单的车速控制系统,我们可以定义一个模糊规则,如“如果车速较慢,则增加油门”的规则。

通过组合多个模糊规则,可以构建一个复杂的控制策略。

5. 模糊控制器的设计在Matlab中,我们可以使用模糊控制器对象来设计和实现模糊逻辑控制系统。

模糊控制器对象包含了输入集合、输出集合、模糊规则库等属性,以及推理和解糊过程的方法。

用户可以根据系统需求和实际问题,选择合适的模糊集合、模糊规则和解糊方法,设计出一个有效的模糊控制器。

6. 模糊逻辑控制的应用模糊逻辑控制在实际应用中具有广泛的应用价值。

Matlab中的模糊逻辑控制方法

Matlab中的模糊逻辑控制方法

Matlab中的模糊逻辑控制方法引言模糊逻辑控制(FLC)是一种常用的控制方法,在很多实际应用中得到了广泛的应用。

Matlab作为一种功能强大的数学计算和工程仿真软件,提供了丰富的工具和函数来支持模糊逻辑控制的设计和实现。

本文将介绍Matlab中的模糊逻辑控制方法及其应用。

一、模糊逻辑控制的基本概念模糊逻辑控制是一种基于模糊逻辑原理的控制方法,它可以处理不确定性信息和模糊概念,适用于那些难以建立精确数学模型的控制系统。

模糊逻辑控制系统由四个基本部分组成:模糊化、推理、解模糊和规则库。

1.1 模糊化模糊化是将输入量从实际值转化为模糊集合的过程。

在Matlab中,可以使用fuzzifier函数将实际输入映射到模糊集合上。

模糊集合可以通过一些参数来描述,如三角形型、梯形型、高斯型等。

1.2 推理推理是根据模糊集合的规则进行推导,得到系统的输出。

在Matlab中,可以使用inference函数进行推理。

推理的方法有三种:基于规则的推理、基于模糊集合的推理和基于模型的推理。

根据应用的需求和系统的复杂程度,可以选择不同的推理方法。

1.3 解模糊解模糊是将模糊输出转化为实际值的过程。

在Matlab中,可以使用defuzzifier 函数进行解模糊。

常用的解模糊方法有:最大值法、平均值法、面积法等。

1.4 规则库规则库是模糊逻辑控制系统的核心,它包含了一系列的模糊规则,用来描述输入和输出之间的关系。

在Matlab中,可以使用fuzzy规则对象来定义规则库。

规则库的设计是模糊逻辑控制系统设计中的关键一步,直接影响系统的性能和稳定性。

二、Matlab中的模糊逻辑控制工具箱Matlab提供了专门的工具箱,用于支持模糊逻辑控制系统的设计和实现。

这个工具箱包含了一些常用的函数和工具,能够帮助用户更加方便快捷地进行模糊逻辑控制系统的设计和仿真。

2.1 模糊逻辑控制系统设计工具Matlab的模糊逻辑控制系统设计工具提供了一种用户友好的可视化界面,用于设计和编辑模糊逻辑控制系统。

模糊pidmatlab(simulink)仿真详细步骤

模糊pidmatlab(simulink)仿真详细步骤

下面用一个简单的例子作介绍:(本例不是特别针对实现什么功能,只是为了介绍方便)第一部分创建一个模糊逻辑(.fis文件)第一步:打开模糊推理系统编辑器步骤:在Commond Window 键入fuzzy回车打开如下窗口,既模糊推理系统编辑器第二步:使用模糊推理系统编辑器本例用到两个输入,两个输出,但默认是一个输人,一个输出步骤:1、添加一个输入添加一个输出得如下图2、选择Input、output(选中为红框),在Name框里修改各输入的名称并将And method 改为prod,将Or method 改为probor提示:在命名时’_’在显示时为下标,可从上图看出。

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

步骤:1、双击任何一个输入量(In_x、In_y)或输出量打开隶属度函数编辑器。

2、在左下处Range和Display Range处添加取值范围,本例中In_x和In_y的取值范围均为[0 10], Out_x和Out_y的取值范围均为[0 1]3、默认每个输入输出参数中都只有3个隶属度函数,本例中每个输入输出参数都需要用到五个,其余几个需要自己添加:选中其中一个输入输出参数点击Edit菜单,选Add MFS…打开下列对话框将MF type设置为trimf(三角形隶属度函数曲线,当然你也需要选择其他类型) 将Number of MFs设置为2点击OK按钮同样给其他三个加入隶属度函数4、选中任何一个隶属度函数(选中为红色),在Name中键入名称,在Type 中选择形状,在Params中键入范围,然后回车如下图:5、关闭隶属函数编辑器第四步:使用规则编辑器通过隶规则编辑器来设计和修改“IF...THEN”形式的模糊控制规则。

使用Matlab进行模糊逻辑分析的技巧

使用Matlab进行模糊逻辑分析的技巧

使用Matlab进行模糊逻辑分析的技巧引言:在现代科学中,逻辑分析在决策、控制系统和模糊推理等领域发挥着重要的作用。

模糊逻辑是一种能够处理复杂和不确定的问题的有效工具。

而Matlab作为一种功能强大的数学软件,也提供了丰富的工具和函数来支持模糊逻辑的建模和分析。

本文将介绍使用Matlab进行模糊逻辑分析的一些技巧和实例。

一、安装模糊逻辑工具箱Matlab提供了自带的模糊逻辑工具箱,可以通过Matlab的插件管理器进行安装。

打开Matlab后,在工具栏中选择"Add-Ons",然后在搜索框中输入"模糊逻辑工具箱",点击搜索按钮,选择合适的版本进行安装。

安装完成后,即可在工具箱中找到并使用模糊逻辑相关的函数和工具。

二、建立模糊逻辑系统使用Matlab进行模糊逻辑分析的第一步是建立一个模糊逻辑系统。

可以使用命令"fuzzy"创建一个模糊逻辑系统对象,然后使用该对象进行后续的分析。

例如,创建一个简单的三角形隶属函数的模糊逻辑系统对象:```matlabfis = fuzzyfis = addInput(fis,[0 10],'Name','input1')fis = addOutput(fis,[0 20],'Name','output1')fis = addMF(fis,'input1','trimf',[2 5 7])fis = addMF(fis,'output1','trimf',[4 10 16])```上述代码创建了一个输入变量input1和一个输出变量output1,并添加了三角形隶属函数。

通过这种方式,可以根据实际问题的需求建立模糊逻辑系统。

三、设置模糊规则在模糊逻辑系统中,模糊规则是描述输入和输出之间关系的关键。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

8.2 模糊逻辑工具箱的图形界面工具 模糊逻辑工具箱提供的图形用户界面(GUI) 工具有5个,主要的可以用来建立、编辑和观察 模糊推理系统。这5个GUI工具中包含了3个编辑 器,即模糊推理系统 模糊推理系统(fuzzy inference system FIS) 模糊推理系统 编辑器、隶属函数编辑器、模糊规则编辑器; 编辑器、隶属函数编辑器、模糊规则编辑器;2 个观察器,即模糊规则观察器和输出曲面观察 模糊规则观察器和输出曲面观察 器。这些图形化工具相互之间是动态连接的,因 此,在使用中,只要模糊推理系统任何一个GUI 的参数或性质被用户修改,其它打开的任何GUI 中相应的参数或性质都将自动地被改变,这一点 极大地方便了用户对自己的模糊推理系统进行调 试。
8.1 模糊推理过程 在模糊推理的过程中,明确地描述了怎样用 模糊逻辑将给定的输入映射到输出。涉及到隶属 函数、模糊逻辑算子和if hen规则等。 在模糊逻辑工具箱中,可以实现两种类型的模糊 推理系统,即Mamdani型模糊推理系统和Sugeno 型模糊推理系统。 在模糊逻辑工具箱中,模糊推理过程由5个 部分构成,即输入变量的模糊化、前提中模糊算 子(AND或OR)的应用、从前提到结果的蕴涵关系、 模糊规则结果的聚类和反模糊化。
8.2.2 隶属函数编辑器
下面3种方式中的任何一个都可打开隶属函数编辑器。 ①拉下View菜单项,选定“Edit Membership Function….” ②双击输出变量图标。 ③在命令行键入“mfedit”。
1
2

4
5 6 7 10 9 8
11
①——Fi1e(文件)菜单。在5个基本图形工具中的每一个Fi1e菜单下,均可 进行打开、保存或编辑模糊系统的操作。 ②——该区域为变量区,在此显示了所有已定义的输入变量和输出变量, 单击某一变量,使其成为当前变量,就可编辑该变量的隶属函数。 ③——该区域为绘图区。在此显示当前变量的所有隶属函数; ④——在该区域中,单击并选中一条隶属函数,就可以编辑该隶属函数的 名称、类型、属性及参数。用鼠标按住一条隶属函数上的小圆圈并拖动鼠 标,就可以改变所选中的隶属函数的形状及其参数,如果用鼠标按在隶属 函数的小圆圈以外的曲线上并拖动鼠标,就可以平移该隶属函数的位置, 而不改变其形状。 ⑤——文本框。在该文本框中,可以改变当前选中的隶属函数的名称。 ⑥——下拉菜单。在该下拉菜单中可以改变当前隶属函数的类型。 ⑦——文本框。在该文本框中,可以改变当前选中的隶属函数的数字参数。 ⑧——状态栏。在该状态栏显示上一步进行的操作。 ⑨——文本框。在该文本框中,可设置当前图形的显示范围。 ⑩——文本框。在该文本框中,可设置当前变量的范围。 ⑾ ——在此区域,显示当前选中的变量的名称和类型。
(2)第3步:模糊推理 在应用模糊蕴涵进行模糊推理之前,必须注 意规则的权,每一规则部有一个权(0到1之间的 一个数值),它被用干前提给定的个数。通常权 值为1。有时我们可能想将某个权值改为一个非 1的值,以改变相应规则与其它规则的相对权值。 如果某一规则的权值为0。则它在模棚推理过程 0 中不产生任何作用。 一旦为每一规则指定了适当的权。就实现 了蕴涵。其结果之一是模糊集由隶属函数表示, 隶属函数规定了属于它的语言特征的权值。 工具箱有两个内置的方法,它们与AND方 法使用同样的函数:min和prod,前者截断输出 模糊集.后者规定输出模糊集的尺度。
(5)第5步:反模糊化 反模糊化过程的输入是一个模糊集,即上一 步中的聚类输出模糊集,其输出为一个单值。在 各中间步骤中,模糊性有助于规则计算。但一般 而言。对各变量最终的期望输出是一个单值,但 是,模糊集的聚类中包含了许多输出值,因此必 须将其反模糊化,以从集合中解析出一个单输出 值。 反模糊化最常用的方法是重心计算,它计算 并返回曲线下区域的中心。工具箱中有5个内置 方法:重心法(centroid)、二等分法(bisector)、中 间最大值法(middle of maximum)(输出值最大值的 平均),最大最大值法(largest of maximum)、最小 最大值法(smallest of maximum)。
(4)第4步:聚类输出 由于决策是在对模糊推理系统中所有规则进行 测试的基础上作出的,故必须以某种方式将规则 结合起来以作出决策,聚类就是这样一个过程。 它将表示每个规则输出的模糊集结合成一个单独 的模糊集。只有在模糊推理过程的第5步也就是 反模糊化之前,才对每个输出变量进行一次聚类 处理。聚类过程的输入是对每个规则的蕴涵过程 返回的截断输出函数,其输出是 一个输出变量 的模糊集合。 由于聚类方法是可交换的。因此在聚类方法 中,规则的执行顺序无关紧要。工具箱有3个内 置方法:max、probor和sum。其中,sum执行的 是各规则输出集的简单相加。
1
2
3
6
5 8 7 4
①——File(文件)菜单。在5个基本图形工具中的每一个File菜单下,均 可进行打开、保存或编辑模糊系统的操作。 ② ——输入输出量选择框。输入输出的量是一个“词”而非数值。 ③——模糊规则编辑器。根据用户的操作而自动地书写或修改模糊规 则,并将最新的模糊规则显示在该可视化区域。 ④———Help按钮和close按钮。按Help按钮,可调用模糊规则编辑器 的使用帮助;按close按钮,则可关闭模糊规则编辑器。 ⑤——Delete rule按钮、Change rule按钮和Add ru1e按钮。按Delete rule按钮,将选中的模糊规则删除;按Change rule按钮,可以修改选 中的模糊规则;按Add rule,将按照从输入输出菜单中所选的变量, 建立新的模糊规则。 ⑥——选中此复选框,将使模糊规则中输入输出的表述为“非”(取 反)。 ⑦——状态栏。在该状态栏显示上一步进行的操作。 ⑧ ——选择该处的单选按钮,可以确定模糊规则中各输入间“与”或 “或”的连接关系
使用模糊规则编辑器构造规则非常容易。在 FIS编辑器对输入输出变量进行定义和描述的基 础上,可用模糊规则编辑器自动构造模糊规则语 句。其方法是在模糊规则编辑器左边选择一个输 入变量,并选中它的一个语言值(或称模糊子集、 隶属函数),然后在编辑器右边的输出变量框中选 择一个输出变量,并选中它的一个语言值(或称模 糊子集、隶属函数),然后将这种联系添加到模糊 规则中。对于一个规则中有多个输入变量,只要 在输入变量之间再选择一个连接项(and或or)即可。 如果在选择的变量下,选择none作为其隶属函数, 则表示在这一规则中,这个变量不起作用。对任 何变量,如果选择了下方的not复选框,都将对与 该变量相关的性质取反。
(2)第2步:应用模糊算子
完成了输入模糊化,我们就知道对于每个模糊 规则,前提中每一部分被满足的程度。如果一个给 定规则的前提有多个部分、则可用模糊算子来获得 一个数值,这个数值表示前提对于该规则的结果。 随后,这个数值被应用于输出函数中。模糊算子的 输入是两个或更多个从模糊化输入变量得到的隶属 值、而输出是一个单独的真实值。 在模糊逻辑中有多种明确定义的方法可以实现 模糊交(AND))和模糊或(OR)算子。模糊逻辑工具箱 中内置了两个模糊交方法:min(最小值)和prod(乘 积),同样还内置了两个模糊或方法:max(最大值) 和probor(OR概率统计方法)。
1、模糊推理过程的步骤
(1)第1步:输入的模糊化 模糊推理过程的第一步,是获取输入,并确定 它们通过隶属函数而属于每个适当的模糊集合的 隶属度。在模糊逻辑工具箱中,输入总是一个明 确的数值,而这个数值被限制在输入变量的论域 (范围)中。输出则是一个限定语义集合中的模糊 隶属度(总在0,1之间)。事实上,输入模糊化的 概念与查表或函数估算的概念是等价的。
8.2.3 模糊规则编辑器 在前面已经完成了对变量命名,同时 各变量的隶属函数也有了适当的形状和名 字,下面开始编辑模糊规则。有两种方法 可以调用模糊规则编辑器,一是在FIS编 辑器(同样也可在隶属函数编辑器)中的 View菜单中选定“Edit rules…”,二是在 命令行中键人“ruleedit”。
第8章 模糊逻辑的MATLAB实现
MATLAB强大的扩展功能为各个领域的应用提供 了基础,由各个领域的专家学者相继开发了MATLAB 工具箱。模糊逻辑工具箱正是其中的一个。模糊逻辑 的创始人入Zadeh对模糊逻辑工具箱作出了高度的评价。 他说:“由于模糊逻辑工具箱为系统结构的计算提供 了模糊规则,因此它极大地增强了人们的推理能力。 并由于Math works公司无可匹敌的MATLAB软件及其 图形界面技术,人们的推理能力更是进一步加强。” 同时他说:“模糊逻辑工具箱在各方面都给人以非常 深刻的印象。它使得模糊逻辑成为对于智能系统的概 念和设计的有效工具,而且它易于掌握,使用方 便。” 。
8.2.1 FIS编辑器
如果已经存在一个模糊推理系统aaa.fis,则在工作区中键入“fuzzy aaa” 可以直接用模糊逻辑工具箱打开这个模糊推理系统。 如果只是要打开FIS编辑器,则在工作区键入如下命令“fuzzy” 打开的FIS编辑器如图所示。
2
3
4
1
5
8 7 6
①——File(文件)菜单。该区域是每一个基本图形工具中都 具有的File菜单项,在此可以进行打开、保存或编辑模糊系 统的操作。 ②——在该区域中,双击输入变量的图标,可打开隶属函 数编辑器,以定义输入变量或输出变量的隶属函数。 ③ ——在该区域中,双击系统示图,可打开模糊规则编辑 器。 ④——在该区域中,双击输出变量图标,可打开隶属函数 编辑器,以定义输出变量或输入变量隶属函数。 ⑤——文本框。在该文本框中可对输入变量或输出变量进 行命名或改名。 ⑥——状态栏。在该状态栏显水上一步进行的操作。 ⑦——下拉菜单。各下拉菜单用于选择模糊推理方法,例 如选择“反模糊化”方法等等 ⑧——在该区域中显示系统名称。要改变系统名称,可在 rile菜单下选择“save as”进行。
FIS编辑器:处理系统的高级问题,如:有多少个输入 和输出变量?其名称是什么?等等。模糊逻辑工具箱输 入变量的个数没有限制。但是,输入变量的个数会受到 计算机内存的限制,如果输入变量的个数太多,或隶届 函数的个数太多,则可能难于使用其它GUI工具来分析 FIS。 隶属函数编辑器:用于定义与每个变量关联的隶属函数 的形状。 模糊规则编辑器:用于编辑规则列表,该规则列表定义 了系统的行为。 模糊规则观察器和输出曲面观察器:用于观察(但不能编 辑)模糊推理系统。它们是严格的只读工具。当模糊规 则观察器被用于调试时,它能显示哪个规则正在运作, 或各隶属函数的形状怎样影响结果,等等。输出曲面观 察器用于显示输出对任何一个或两个输入的依赖性,即 它为系统产生并且绘制一个输出曲面。
相关文档
最新文档