关于模糊控制查了一些资料,觉得下面的例子简单又易于理解,甚好,现转载如下,以备日后查阅及与大家分享

用 Matlab 的 Fuzzy 工具箱实现模糊控制

转自http://blog.daviesliu.net/2005/03/28/153616/davies

用 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

matlab中模糊工具箱的使用相关推荐

  1. matlab画图模糊,[转载]matlab中模糊工具箱的使用

    用 Matlab 中的 Fuzzy 工具箱做一个简单的模糊控制,流程如下: 1.创建一个 FIS (Fuzzy Inference System ) 对象, a = newfis(fisName,fi ...

  2. matlab模糊工具箱使用,MATLAB中模糊神经网络工具箱的使用 - 全文

    前些天把玩了一下MATLAB中神经网络工具箱的使用,忽有"扪参历井仰胁息"之感.别的倒是没什么,只是神经网络的数据组织结构有些"怪异",要是不小心就会导致工具箱 ...

  3. Matlab中EMD工具箱的下载安装和使用

    Matlab中EMD工具箱的下载安装和使用 Matlab中EMD工具箱的下载安装和使用 电脑环境 下载指南 安装步骤 使用示例 Matlab中EMD工具箱的下载安装和使用 电脑环境 笔者的电脑环境为( ...

  4. MATLAB中模糊神经网络工具箱的使用

    前些天小师妹(好吧,我向政府和人民坦白,小师妹是我虚构的)向我请教MATLAB里模糊神经网络工具箱的使用方法,说是没有搜索到好的教程.正所谓'勿以善小而不为',' 我不入地狱谁爱入谁入','天下兴亡匹 ...

  5. matlab中m_map工具箱绘制大圆航线

    m_map工具箱需要从外部下载导入进matlab.m-map工具箱中常用的函数有:m_proj('proj name','property',value,-) 投影方式,投影区域大小····· m_c ...

  6. 在matlab中添加工具箱

    1.如工具包spasm,解压够里面有好多个.m文件,把spasm文件夹放到matlab的安装目录下的toolbox中,如D:\Mathlab2009a\toolbox 2.在matlab中写命令 ad ...

  7. matlab ts模糊工具箱,通过算例熟悉MATLAB模糊控制工具箱

    通过算例熟悉MATLAB模糊控制工具箱 设计一个二维模糊控制器控制一个一阶被控对象 1 () 1 G s Ts = + ,然后改变控制对象参 数的大小,观察模糊控制的鲁棒性. 1.模糊推理的五个步骤 ...

  8. matlab中PDE工具箱如何使用,使用PDE工具箱求解偏微分方程

    在科学技术各领域中,有很多问题都可以归结为偏微分方程问题.在物理专业的力学.热学.电学.光学.近代物理课程中都可遇见偏微分方程. 偏微分方程,再加上边界条件.初始条件构成的数学模型,只有在很特殊情况下 ...

  9. matlab中统计工具箱函数名大全

    MATLAB统计工具箱包括概率分布.方差分析.假设检验.分布检验.非参数检验.回归分析.判别分析.主成分分析.因子分析.系统聚类分析.K均值聚类分析.试验设计.决策树.多元方差分析.统计过程控制和统计 ...

最新文章

  1. MySQL与MongoDB之SQL语法对比
  2. http默认超时时间_Bof 是一个HTTP客户端,旨在尽可能方便用户使用
  3. 《推荐系统实践》样章:如何利用用户标签数据
  4. 英特尔预计5年内将成智能手机芯片大厂
  5. 【热烈祝贺】我刊主编郑纬民教授荣获中国存储终身成就奖!
  6. 2017.10.18 开店 失败总结
  7. [C++]动态规划系列之币值最大化
  8. dbscan js 实现_DBSCAN在PySpark上的实现
  9. android 布局覆盖 超出一部分_Android 开发者峰会 2019 常见问题解答
  10. java socket 全双工客户端_Java Websocket实例【服务端与客户端实现全双工通讯】
  11. linux fcntl函数,fcntl函数的使用详解
  12. sd卡写保护解除工具_U盘格式化工具怎么用
  13. CDISC SDTM AE domain学习笔记 - 2
  14. VNC远程控制软件,VNC远程控制软件如何实现批量管理服务器
  15. 无人机运动规划4:ego-swarm无人机群运动规划
  16. 侯晓迪:全身心的投入,吃住都在实验室
  17. PMP-7. 项目经理及其影响力
  18. python手机壁纸_【python日常学习】爬取各种图片(电脑、手机壁纸,美女、明星图片,头像等等)...
  19. 纪念三毛辞世20周年——《三毛经典语录》
  20. vue中处理后台返回的 html 特殊标签(‘\lt; p style=“xxx“ \gt;‘)或(\<p>)的三种情况及传给后端数据的解决方案

热门文章

  1. 方块填数 “数独”是当下炙手可热的智力游戏。一般认为它的起源是“拉丁方块”,是大数学家欧拉于1783年发明的。 如图[1.jpg]所示:6x6的小格被分为6个部分(图中用不同的颜色区分),每个部
  2. 基于浏览器的Linux
  3. 【005】Nginx学习笔记-Nginx真实IP
  4. js小技巧:根据身份证号,获取身份信息。如性别、生日、年龄
  5. 线性代数常用基本知识整理
  6. GDOI 2016 总结
  7. 201771010137 赵栋《面向对象程序设计(java)》第十八周学习总结
  8. python成语接龙到为所欲为_为所欲为是第一个成语开头的成语接龙游戏
  9. 企业级开发平台的演进
  10. android Check the JVM arguments defined for the gradle process in: