模糊-matlab.ppt_第1页
模糊-matlab.ppt_第2页
模糊-matlab.ppt_第3页
模糊-matlab.ppt_第4页
模糊-matlab.ppt_第5页
免费预览已结束,剩余47页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、模糊控制在MATLAB中的实现,模糊工具箱内置的隶属度函数,模糊逻辑工具箱中包含了11个内置的隶属度函数类型。 这11个函数又由几个基函数构成:分段线性函数,高斯分布函数,S形曲线,二次和三次多项式曲线。 按照MATLAB的惯例,所有隶属度函数最后的两个字母都是“mf”。 Trimf-三角隶属度函数 Trapmf-梯形隶属度函数 Gaussmf-高斯函数 Gauss2mf-曲线两侧由不同高斯曲线组合而成 Gbellmf-钟形隶属度函数,Sigmf-简单sigmoidal型隶属度函数 Dsigmf-差型sigmoidal隶属度函数 Psigmf-积型sigmoidal隶属度函数 Zmf-Z型隶属

2、度函数 smf-S型隶属度函数 Pimf-型隶属度函数,MATLAB模糊逻辑工具箱,2.1模糊推理过程 在模糊逻辑工具箱中,可以实现两种类型的模糊推理系统:Mamdani型和Sugeno。 在模糊逻辑工具箱中,模糊推理过程由5个部分构成,即输入变量的模糊化、前提中模糊算子(AND 或 OR)的应用、从前提到结果的蕴含关系、模糊规则结果的聚类和反模糊化。,1.模糊推理过程的步骤 (1)第1步:输入的模糊化 (2)第2步:应用模糊算子 模糊逻辑工具箱中内置了两个模糊交方法:min(最小值)和prod(乘积),同样还内置了两个模糊或方法:max(最大值)和probor(OR 代数和方法)。 (3)第

3、3步:模糊推理 (4)第4步:聚类输出 由于决策是在对模糊推理系统中所有规则进行测试的基础上作出的,故必须以某种方式将规则结合起来以作出决策。 聚类就是将表示每个规则输出的模糊集结合成一个单独的模糊集。只在反模糊化之前,才对每个输出变量进行一次聚类。 聚类过程的输入是对每个规则的蕴含过程返回的截断输出函数,其输出是一个输出变量的模糊集合。 工具箱有3个内置方法:max,probor和sum。,(5)第5步:反模糊化 反模糊化过程的输入是一个模糊集,即上一步中的聚类输出模糊集,其输出为一个单值。 最常用的方法是重心计算。工具箱中有5个内置方法:重心法(centroid),二等分法(bisecto

4、r),中间最大值法(middle of maximum)(输出集最大值的平均),最大最大值法(largest of maximum),最小最大值法(smallest of maximum)。,2.自定义模糊推理,用户可以用自己的MATLAB函数代替在上面详细说明的5步中默认使用的任何函数,亦即用户可以定义自己的隶属函数、AND和OR方法、蕴含、聚类方法及反模糊化方法。,2.2模糊逻辑工具箱的图形界面工具,模糊逻辑工具箱有5个主要的GUI工具可以用来建立、编辑和观察模糊推理系统。 FIS编辑器:处理系统的高级问题,如:有多少个输入和输出变量?其名称是什么?等等。 隶属函数编辑器:用于定义与每个变

5、量关联的隶属函数的形状。 模糊规则编辑器:用于编辑规则列表,该规则列表定义了系统的行为。 模糊规则观察器和输出曲面观察器:用于观察(但不能编辑)模糊推理系统。,FIS编辑器,如果已经存在一个模糊推理系统aaa.fis,则在工作区中键入“fuzzy aaa”可以直接用模糊逻辑工具箱打开这个模糊推理系统。 如果只是要打开FIS编辑器,则在工作区中键入“fuzzy”,隶属函数编辑器,下面3种方式中的任何一个都可打开隶属函数编辑器: 拉下edit菜单项,选定“Edit Membership Functions”。 双击输出变量图标。 在命令行键入“mfedit”。,模糊规则编辑器,在前面已经完成了对变

6、量命名,同时各变量的隶属函数也有了适当的形状和名字,下面开始编辑模糊规则。 有两种方法可以调用模糊规则编辑器: 在FIS编辑器(同样也可在隶属函数编辑器)中的view菜单中选定“Edit rules” 在命令行中键入“ruleedit”,模糊规则观察器,模糊规则观察器的功能是可以令用户观察模糊推理图,并观察模糊推理系统的行为是否与预期的一样。 要打开模糊规则观测器,可在工作区中键入“ruleview”或从FIS编辑器(同样也可以从隶属函数编辑器或模糊规则编辑器)的view菜单中选择“View rules”,输出曲面观察器,如果要看到模糊推理系统的全部输出曲面,也就是与整个输入区间相对应的整个输

7、出区间,则需要打开模糊逻辑工具箱中的输出曲面观察器 要打开输出曲面观察器,可在工作区中键入“surfview”或从FIS编辑器(同样也可以从隶属函数编辑器、模糊规则编辑器或模糊规则观察器)的View菜单中选择“View surface”,自定义模糊推理系统,如果用户想在使用模糊逻辑工具箱时将自定义函数包括进去,那么需要遵循下面的规定,即用户提供的AND方法、OR方法、聚类方法和反模糊化方法需要与MATLAB中的max,min,或prod的工作方式相似,即,他们必须能向下运算矩阵的列. 如与min函数相似,蕴含应当对矩阵一列一列地运算. a=1 2;3 4; b=2 2;2 2; min(a,b

8、) ans= 1 2 2 2,用户可以用M文件建立自己的隶属函数。(0-1之间) 自定义隶属函数的限制是其参数不能超过16个。 例如,要建立一个名为“custmf”的自定义隶属函数,则步骤如下: 为函数建立一个M文件custmf.m,其取值在0-1间,且参数最多为16个。 在隶属函数编辑器的Edit菜单选择“Add Custom MF”,弹出一个对话框。 在弹出对话框的M-file function name文本框中输入自定义隶属函数的M文件名“custmf”。 在Parameter list文本框中输入在自定义隶属函数中想要使用的参数矢量。,在MF name文本框中对自定义隶属函数制定一个名

9、称。这个名称必须与模糊推理系统中使用的其它任何历数函数的名称都不相同。 单击该弹出对话框的“OK”按钮。,2.3模糊逻辑工具箱的命令行工作方式,2.3.1系统结构参数 系统结构参数主要有: readfis, setfis, getfis, showfis, structure 要载入一个已存在的名为“aaa.fis”的模糊推理系统,须在工作区中键入:a=readfis(aaa.fis); MATLAB工作区将输出该模糊推理系统的如下信息:name(系统名称),type(推理类型),andMethod(与算子),orMethod(或算子),defuzzMethod(反模糊化方法),impMeth

10、od(蕴含算子),aggMethod(聚类算子),input(输入向量维数),output(输出向量维数) ,rule(模糊规则个数),函数getfis(a) 与函数getfis对应的函数是setfis,使用该函数可以改变FIS的任何属性。如要改变系统的名称: a=setfis(a,name,gratuity) 则将系统名称设置为gratuity. 使用函数showfis(a)可以更深入地看到FIS的结构 当变量a被指定为某一个模糊推理系统时,在命令行可以直接调用该模糊推理系统5个GUI的任何部分。,Fuzzy(a):调出FIS编辑器 Mfedit(a):调出隶属函数编辑器 Ruleedit(

11、a):调出模糊规则编辑器 Ruleview(a):调出模糊规则观察器 Surfview(a):调出输出曲面观察器,2.3.2系统显示函数,模糊逻辑工具箱在命令行中设计了3个函数,可以用它们得到高水准的模糊推理系统图形。 plotfis(a)-绘制出与FIS编辑器上相同的全系统模块图 plotmf 如果所有的MATLAB图形或GUI窗口都已被关闭,函数plotmf将画出与给定变量相关联的所有隶属函数。 其使用格式为: plotmf(a,input,1) plotmf(a,output,1),如果5个图形化工具中的任何一个是打开的,那么调用plotmf后,隶属函数图将以GUI或MATLAB图的方式

12、显示。 gensurf-画出给定系统输入变量中的任一个或两个与输出变量中的任一个之间的图形,该图形是二维曲线或三维曲面。,2.4模糊控制器与Simulink的连接,将模糊系统嵌入Simulink的步骤如下: 载入模糊推理系统 打开Simulink模型 设定模糊控制器的输入与输出,设计一模糊控制器使其超调量不超过1%,输出的上升时间0.3。 步骤 1. 确定e,de和u的论域 2. e,de和u语言变量的选取 3. 规则的制定 4. 推理方法的确定,假定被控对象的传递函数为:,1. 根据系统实际情况,选择e,de和u的论域 e range : -1 1 de range: -0.1 0.1 u

13、range: 0 2 2. e,de和u语言变量的选取 e 8个:NB,NM,NS,NZ,PZ,PS,PM,PB de 7个:NB,NM,NS,Z,PS,PM,PB U 7个:NB,NM,NS,Z,PS,PM,PB,利用MATLAB的Toolbox工具,3.模糊规则确定,u e de,4. 隐含和推理方法的制定,隐含采用 mamdani方法: max-min 推理方法, 即 min 方法 去模糊方法:面积中心法。 选择隶属函数的形式:三角型,0.1,1,-0.1,-1,0,2,也可以用viewsurf菜单命令看模糊控制器的输出量,Scope 2,Scope 1,Scope 3,模糊逻辑工具箱输

14、入变量的个数没有限制。但是,输入变量的个数会受到计算机内存的限制。如果输入变量的个数太多,或隶属函数的个数太多,则可能难于使用其它GUI工具来分析FIS。,结束,例如,假定已经建立了一个名为“aaa”的模糊控制器或模糊控制系统,则单击模糊逻辑工具箱5个GUI界面中任一个的File菜单,选择其中的“Save to workspace”,将其保存到MATLAB的工作区中;如果已建立的模糊控制器或模糊控制系统尚未命名,则选择“Save to workspace as”,以“aaa”为模糊控制系统的名称将其存在MATLAB工作区。,在MATLAB工作区内用命令“Simulink”建立或打开自己的Simulink仿真模型。Simulink Libarary BrowserFuzzy Logic Toolbox,其下有两个选择对象,分别为“Fuzzy Logic Controller”和“Fuzzy Logic Controller with R

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论