工具箱实现模糊控制.doc

上传人:hw****26 文档编号:3233820 上传时间:2019-05-26 格式:DOC 页数:2 大小:25KB
下载 相关 举报
工具箱实现模糊控制.doc_第1页
第1页 / 共2页
工具箱实现模糊控制.doc_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

1、用 Matlab 的 Fuzzy 工具箱实现模糊控制用 Matlab 中的 Fuzzy 工具箱做一个简单的模糊控制,流程如下:1、创建一个 FIS (Fuzzy Inference System ) 对象,a = newfis(fisName,fisType,andMethod,orMethod,impMethod, aggMethod,defuzzMethod)一般只用提供第一个参数即可,后面均用默认值。2、增加模糊语言变量a = addvar(a,varType,varName,varBounds)模糊变量有两类:input 和 output。在每增加模糊变量,都会按顺序分配一个 inde

2、x,后面要通过该 index 来使用该变量。3、增加模糊语言名称,即模糊集合。a = addmf(a,varType,varIndex,mfName,mfType,mfParams)每个模糊语言名称从属于一个模糊语言。Fuzzy 工具箱中没有找到离散模糊集合的隶属度表示方法,暂且用插值后的连续函数代替。参数 mfType 即隶属度函数(Membership Functions),它可以是 Gaussmf、trimf、trapmf 等,也可以是自定义的函数。每一个语言名称也会有一个 index,按加入的先后顺序得到,从 1 开始。4、增加控制规则,即模糊推理的规则。a = addrule(a,r

3、uleList)其中 ruleList 是一个矩阵,每一行为一条规则,他们之间是 ALSO 的关系。 假定该 FIS 有 N 个输入和 M 个输出,则每行有 N+M+2 个元素,前 N 个数分别表示 N 个输入变量的某一个语言名称的 index,没有的话用 0 表示,后面的 M 个数也类似,最后两个分别表示该条规则的权重和个条件的关系,1 表示 AND,2 表示 OR。例如,当“输入 1” 为“名称 1” 和 “输入 2” 为“名称 3” 时,输出为 “ 输出 1” 的“状态 2”,则写为:1 3 2 1 15、给定输入,得到输出,即进行模糊推理。output = evalfis(input,

4、fismat)其中 fismat 为前面建立的那个 FIS 对象。一个完整的例子如下:clear all;a = newfis(myfis); a = addvar(a,input,E,0 7);a = addmf(a,input,1,small,trimf,0 1 4.333);a = addmf(a,input,1,big,trimf,1.6667 6 7); a = addvar(a,output,U,0 7);a = addmf(a,output,1,small,trimf,0 1 4.333);a = addmf(a,output,1,big,trimf,1.6667 6 7); rulelist = 1 1 1 1;2 2 1 1;a = addrule(a,rulelist); u = evalfis(4,a)其结果为:u = 4.221

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 精品笔记

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。