收藏 分销(赏)

工具箱实现模糊控制.doc

上传人:pc****0 文档编号:7177317 上传时间:2024-12-27 格式:DOC 页数:2 大小:25KB 下载积分:10 金币
下载 相关 举报
工具箱实现模糊控制.doc_第1页
第1页 / 共2页
工具箱实现模糊控制.doc_第2页
第2页 / 共2页
本文档共2页,全文阅读请下载到手机保存,查看更方便
资源描述
用 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。在每增加模糊变量,都会按顺序分配一个 index,后面要通过该 index 来使用该变量。 3、增加模糊语言名称,即模糊集合。 a = addmf(a,'varType',varIndex,'mfName','mfType',mfParams) 每个模糊语言名称从属于一个模糊语言。Fuzzy 工具箱中没有找到离散模糊集合的隶属度表示方法,暂且用插值后的连续函数代替。 参数 mfType 即隶属度函数(Membership Functions),它可以是 Gaussmf、trimf、trapmf等,也可以是自定义的函数。 每一个语言名称也会有一个 index,按加入的先后顺序得到,从 1 开始。 4、增加控制规则,即模糊推理的规则。 a = addrule(a,ruleList) 其中 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 1] 5、给定输入,得到输出,即进行模糊推理。 output = evalfis(input,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
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服