计算智能 — 模糊计算

1. 简介

模糊计算涉及的就是依据模糊规则,从几个控制变量的输入得到最终输出的过程。这个过程可以细分为4个模块:模糊规则库、模糊化、推理方法和去模糊化。
模糊规则库是专家提供的模糊规则。模糊化是根据隶属度函数从具体的输人得到对模糊集隶属度的过程。由于规则是由模糊的自然语言表述的,而输人是精确数值,没有模糊化的过程,规则就难以被应用。推理方法是从模糊规则和输人对相关模糊集的隶属度得到模糊结论的方法。去模糊化就是将模糊结论转化为具体的、精确的输出的过程。由于推理结论是用模糊隶属度表示的,没有去模糊化的过程,结论就无法被实际应用。

2. 实现


输入1:

输入2:

输出:

建立的规则结果(49条):


规则库:

3. 代码
%模糊控制器设计
a=newfis('fuzzf');                   %创建新的模糊推理系统%输入1
f1=1;
a=addvar(a,'input','e',[-13*f1,13*f1]);                   %添加 e 的模糊语言变量
a=addmf(a,'input',1,'NB','zmf',[-13*f1,-8*f1]);          %添加 e 的模糊语言变量的隶属度函数(z型)
a=addmf(a,'input',1,'NM','trimf',[-13*f1,-7*f1,0]);      %隶属度函数为三角形
a=addmf(a,'input',1,'NS','trimf',[-13*f1,-10*f1,1*f1]);
a=addmf(a,'input',1,'Z','trimf',[-12*f1,0,12*f1]);
a=addmf(a,'input',1,'PS','trimf',[-10*f1,10*f1,13*f1]);
a=addmf(a,'input',1,'PM','trimf',[0,5*f1,13*f1]);
a=addmf(a,'input',1,'PB','smf',[10*f1,13*f1]); %输入2
f2=1;
a=addvar(a,'input','ec',[-7*f2,7*f2]);                   %添加 ec 的模糊语言变量
a=addmf(a,'input',2,'NB','zmf',[-3*f2,-1*f2]);
a=addmf(a,'input',2,'NM','trimf',[-4*f2,-1*f2,0]);
a=addmf(a,'input',2,'NS','trimf',[-7*f2,-3*f2,5*f2]);
a=addmf(a,'input',2,'Z','trimf',[-4*f2,0,4*f2]);
a=addmf(a,'input',2,'PS','trimf',[-5*f2,1*f2,7*f2]);
a=addmf(a,'input',2,'PM','trimf',[0,2*f2,6*f2]);
a=addmf(a,'input',2,'PB','smf',[1*f2,3*f2]); %输出
f3=1.5;
a=addvar(a,'output','u',[-5*f3,7*f3]);                 %添加 u 的模糊语言变量
a=addmf(a,'output',1,'NB','zmf',[-5*f3,-1*f3]);
a=addmf(a,'output',1,'NM','trimf',[-5*f3,-2*f3,0]);
a=addmf(a,'output',1,'NS','trimf',[-4*f3,-1*f3,1*f3]);
a=addmf(a,'output',1,'Z','trimf',[-3*f3,0,3*f3]);
a=addmf(a,'output',1,'PS','trimf',[-5*f3,1*f3,5*f3]);
a=addmf(a,'output',1,'PM','trimf',[0,3*f3,5*f3]);
a=addmf(a,'output',1,'PB','smf',[1*f3,5*f3]);%规则库
rulelist=[1 1 1 1 1;             %编辑模糊规则,后俩个数分别是规则权重和AND OR选项1 2 1 1 1;1 3 1 1 1;1 4 2 1 1;1 5 2 1 1;1 6 3 1 1;1 7 4 1 1;2 1 1 1 1;2 2 2 1 1;2 3 2 1 1;2 4 2 1 1;2 5 3 1 1;2 6 4 1 1;2 7 5 1 1;3 1 7 1 1;3 2 6 1 1;3 3 4 1 1;3 4 4 1 1;3 5 3 1 1;3 6 3 1 1;3 7 1 1 1;4 1 1 1 1;4 2 5 1 1;4 3 3 1 1;4 4 2 1 1;4 5 4 1 1;4 6 2 1 1;4 7 1 1 1;5 1 3 1 1;5 2 2 1 1;5 3 5 1 1;5 4 4 1 1;5 5 3 1 1;5 6 7 1 1;5 7 1 1 1;6 1 5 1 1;6 2 2 1 1;6 3 4 1 1;6 4 5 1 1;6 5 1 1 1;6 6 7 1 1;6 7 6 1 1;7 1 3 1 1;7 2 6 1 1;7 3 5 1 1;7 4 4 1 1;7 5 3 1 1;7 6 2 1 1;7 7 1 1 1;];a=addrule(a,rulelist);                %添加模糊规则函数
showrule(a)                             %显示模糊规则函数
a1=setfis(a,'DefuzzMethod','centroid');                  %设置解模糊方法
writefis(a1,'fuzzf');                       %保存模糊系统
a2=readfis('fuzzf');   %从磁盘读出保存的模糊系统
disp('fuzzy Controller table:e=[-13,+13],ec=[-7,+7]');%显示矩阵和数组内容%推理
Ulist=zeros(7,7);                                   %全零矩阵
for i=1:7for j=1:7e(i)=-4+i;ec(j)=-4+j;Ulist(i,j)=evalfis([e(i),ec(j)],a2);    %完成模糊推理计算endend
%   Ulist=ceil(Ulist)                               %朝正无穷方向取整Ulist                               %朝正无穷方向取整%画出模糊系统
figure(1); plotfis(a2);
figure(2);plotmf(a,'input',1);
figure(3);plotmf(a,'input',2);
figure(4);plotmf(a,'output',1);
4. 结论

该实验的模糊控制有两个输入e和ec,一个输出u,一共可以构造49条规则。

计算智能 — 模糊计算相关推荐

  1. 智能计算—模糊计算总结

    目录 框架 1 介绍 1.1 概念 1.2 原理 2 理论发展 3 模糊计算 3.1 模糊逻辑和模糊集合 3.1.1 模糊集合的表示方法 3.1.2 确定隶属函数方法 3.2 模糊识别 3.2.1 择 ...

  2. 模糊数学 计算机智能,《常用算法之智能计算 (五) 》:模糊计算

    原标题:<常用算法之智能计算 (五) >:模糊计算 人们常用"模糊计算"(FuzzyComputing)笼统地代表诸如模糊系统.模糊语言.模糊推理.模糊逻辑.模糊控制. ...

  3. 人工智能-模糊计算(二)

    一.模糊关系的定义 1.   集合的直积 设有两个集合X,Y,X和Y的直积X×Y(笛卡尔积)定义为: 它是由序偶(x,y)的全体所构成的二维论域上的集合.一般来说X×Y≠Y×X. 2.    模糊关系 ...

  4. 人工智能-模糊计算(一)

    一. 模糊理论基础 1. 引入什么是模糊: 一粒种子肯定不能构成一堆,两粒也不能--但是人们承认一亿粒种子肯定能构成一堆,那么这个界限在哪儿呢?是否可以说325647粒种子不是一堆而325648粒种子 ...

  5. 人工智能导论复习整理(一)

    人工智能概述 什么是人工智能(Artificial Intelligence, AI) 定义: 人工智能标准化白皮书(2018版):人工智能是利用数字计算机或者数字计算机控制的机器模拟.延伸和扩展人的 ...

  6. 当我开始学习人工智能:人工智能的学派及研究目标

    上课真是不认真啊,现在都写不来了作业了,真的会谢 一.人工智能的学派及其争论 1.1 对人工智能方法的争论 三个学派 符号主义 认为人的认知基元是符号,认知过程即符号操作过程. 认为人是一个物理符号系 ...

  7. 计算机制造理论,计算制造

    [编辑] 什么是计算制造 计算制造是指利用计算机对制造过程和制造系统的表示.计算.推理和形式处理,包括制造中的几何表示.计算.优化和推理,以及制造过程建模.控制.规划.调度和管理有关的计算问题及其复杂 ...

  8. 人工智能:第四章 计算智能(1)

    第四章 计算智能(1) 教学内容:本章讨论计算智能所涉及的领域和范围,计算智能的含义及它与传统的人工智能的区别.介绍人工神经网络的由来.特性.结构.模型和算法:神经网络的表示和推理.简要地介绍模糊数学 ...

  9. 人工智能与计算机软件的区别,人工智能和计算智能有什么区别呢?

    1.计算智能(Computational Intelligence,CI)是借助自然界(生物界)规律的启示,根据其规律,设计出求解问题的算法.物理学.化学.数学.生物学.心理学.生理学.神经科学和计算 ...

最新文章

  1. 终于明白 Java 为什么要加 final 关键字了!
  2. 基于单片机的超市储物柜设计_657【毕设课设】基于单片机智能存柜储物柜存储柜系统设计...
  3. BZOJ - 3963: [WF2011]MachineWorks
  4. halcon深度学习算子,持续更新
  5. 使用开源的openssl的md5头文件,实现对于文件的md5代码
  6. 基于Windows8与Visual Studio2012开发内核隐藏注册表
  7. oracle报错00838,ORA-00838: Specified value of MEMORY_TARGET is too small
  8. 输入n求N*N矩阵,规定矩阵沿45度线递增
  9. 用互联网模式打造智慧城市的“城市云”
  10. HDU 5145 NPY and girls (莫队分块离线)
  11. 运维 --- Nginx高级功能介绍
  12. uml通信图画法_UML之通信图
  13. 黑马程序员--'1封感人的来信—穷的只剩下梦想,1个黑马程序员的追梦之旅
  14. 第一台计算机英语句子,20个虚拟语气句子带翻译
  15. 电影图标-黑客帝国(The Matrix)
  16. 中国设备工程杂志中国设备工程杂志社中国设备工程编辑部2022年第18期目录
  17. 编写一个程序实现顺序栈(假设栈中元素类型为char)的各种基本运算
  18. java计算机毕业设计响应式交友网站MyBatis+系统+LW文档+源码+调试部署
  19. ospf在NBMA网络中的配置
  20. [zz]QuickTime电影(Movie)

热门文章

  1. 石墨烯粉末, 是否导电?
  2. scrapy框架爬取网站图片
  3. 正则表达式,数字位超过1位时,首位不为0
  4. 最长公共子序列问题-----题目
  5. 一个博士毕业之际写的一些发文章的心得
  6. WIN10没有照片查看器【已解决】
  7. 后台管理系统【登录页面】
  8. 蓝天格锐生命环的使用方法
  9. 最近很火的在线文件预览txt、doc、ppt、pdf、excel、jpg、png、zip、tar.gz等各种文件及压缩文件在线解压和预览,包括前后端设计和源码,编写搜索引擎多关键词检索名称和内容(四)
  10. CobaltStrike优质学习资源