当前位置:   article > 正文

实验二-洗衣机模糊推理实验-matlab/python_设计洗衣机洗涤时间的模糊控制。 已知人的操作经验为:①污泥越多,油脂越多,洗涤时

设计洗衣机洗涤时间的模糊控制。 已知人的操作经验为:①污泥越多,油脂越多,洗涤时

实验二 洗衣机模糊推理系统实验

一、 实验目的

理解模糊逻辑推理的原理及特点,熟练应用模糊推理。

二、 实验内容

采用Matlad 7.0 的Fuzzy Logic Tool 设计洗衣机洗涤时间的模糊控制。

三、 实验要求

已知人的操作经验为:
“污泥越多,油脂越多,洗涤时间越长”;
“污泥适中,油脂适中,洗涤时间适中”;
“污泥越少,油脂越少,洗涤时间越短”。
模糊控制规则:
1、if(x is SD)and(y is NG)then(z is VS)(1)
2、if(x is SD)and(y is MG)then(z is M)(1)
3、if(x is SD)and(y is LG)then(z is L)(1)
4、if(x is MD)and(y is NG)then(z is S)(1)
5、if(x is MD)and(y is MG)then(z is M)(1)
6、if(x is MD)and(y is LG)then(z is L)(1)
7、if(x is LD)and(y is MG)then(z is M)(1)
8、if(x is LD)and(y is MG)then(z is L)(1)
9、if(x is LD)and(y is LG)then(z is VL)(1)

其中SD(污泥少)、MD(污泥中)、LD(污泥多)、NG(油脂少)、MG(油脂中)、LG(油脂多)、VS(洗涤时间很短)、S(洗涤时间短)、M(洗涤时间中等)、L(洗涤时间长)、VL(洗涤时间很长)。

四、 实验内容

(1) 假设污泥、油脂、洗涤时间的论域分别为 [0,100]、[0,100] 和 [0,120],设计相应的模糊推理系统,给出输入、输出语言变量的隶属函数图,模糊控制规则表和推理结果立体图。

1.污泥隶属函数
在这里插入图片描述
在这里插入图片描述
2.油脂隶属函数
在这里插入图片描述
在这里插入图片描述

3.洗涤时间隶属度函数
在这里插入图片描述
在这里插入图片描述

4.模糊控制规则表
在这里插入图片描述
注:SD(污泥少)、MD(污泥中)、LD(污泥多)、NG(油脂少)、MG(油脂中)、LG(油脂多)、VS(洗涤时间很短)、S(洗涤时间短)、M(洗涤时间中等)、L(洗涤时间长)、VL(洗涤时间很长)。

  1. 推论结果立体图
    在这里插入图片描述

(2)假定当前传感器测得的信息为x (污泥) = 60,y(油脂) = 70,采用模糊决策,给出模糊推理结果,并观察模糊推理得到动态仿真环境,给出其动态仿真环境图。

这里使用python来实现

(1) 模糊匹配
将x=60,y=70带入的隶属度函数中:
在这里插入图片描述

(2)规则触发。被触发的规则有4条:

Rule1:IF x is MD AND y is MG THEN z is M;
Rule2:IF x is MD AND y is LG THEN z is L;
Rule3:IF x is LD AND y is MG THEN z is L;
Rule4:IF x is LD AND y is LG THEN z is VL。

(3)规则前提推理。在同一条规则内,前提之间通过交运算得到规则结论。
在这里插入图片描述

(4)模糊系统总的输出(聚合),取各条规则推理结果的并。
在这里插入图片描述

(5)去模糊化。采用加权平均判决发的方法。根据洗涤时间隶属函数的反函数用相应的隶属度求出时间论域中对应的值。

1.	# 1. 污泥隶属度计算  
2.	def Sludge(a):  
3.	    sludge = [0, 0, 0]  # 默认隶属度为0,依次对应SD,MD,LD  
4.	    if a < 0 or a > 100:  
5.	        return (print("输入值有误"))  
6.	    elif 0 <= a <= 50:  
7.	        sludge[0] = (50 - a) / 50  
8.	        sludge[1] = a / 50  
9.	    elif 50 < a <= 100:  
10.	        sludge[1] = (100 - a) / 50    #  40/50  
11.	        sludge[2] = (a - 50) / 50      # 10/50  
12.	    return sludge  
13.	  
14.	# 2. 油脂隶属度计算  
15.	def Grease(a):  
16.	    grease = [0, 0, 0]  # 默认隶属度为0,依次对应NG,MG,LG  
17.	    if a < 0 or a > 100:  
18.	        return (print("输入值有误"))  
19.	    elif 0 <= a <= 50:  
20.	        grease[0] = (50 - a) / 50  
21.	        grease[1] = a / 50  
22.	    elif 50 < a <= 100:  
23.	        grease[1] = (100 - a) / 50   #  30/50  
24.	        grease[2] = (a - 50) / 50   #  10/50  
25.	    return grease  
26.	  
27.	# 3. 规则前提推理,并运算取最小值  
28.	def Rules(a, b):  # a为污泥隶属度,b为油脂隶属度  
29.	    rules_value = [0, 0, 0, 0, 0, 0, 0, 0, 0]  # 依次对应9条规则结果VS,M,L,S,M,L,M,L,VL  
30.	    if a[0] != 0 and b[0] != 0:  
31.	        rules_value[0] = min(a[0], b[0])  # 返回规则下最小值  
32.	    if a[0] != 0 and b[1] != 0:  
33.	        rules_value[1] = min(a[0], b[1])  
34.	    if a[0] != 0 and b[2] != 0:  
35.	        rules_value[2] = min(a[0], b[2])  
36.	    if a[1] != 0 and b[0] != 0:  
37.	        rules_value[3] = min(a[1], b[0])  
38.	    if a[1] != 0 and b[1] != 0:  
39.	        rules_value[4] = min(a[1], b[1])  
40.	    if a[1] != 0 and b[2] != 0:  
41.	        rules_value[5] = min(a[1], b[2])  
42.	    if a[2] != 0 and b[0] != 0:  
43.	        rules_value[6] = min(a[2], b[0])  
44.	    if a[2] != 0 and b[1] != 0:  
45.	        rules_value[7] = min(a[2], b[1])  
46.	    if a[2] != 0 and b[2] != 0:  
47.	        rules_value[8] = min(a[2], b[2])  
48.	    return rules_value  

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49

详细代码下载:https://download.csdn.net/download/hgxiaojiujiu/40088631

程序结果图:
在这里插入图片描述

五、 心得体会

略…

注:这篇文章的部分内容是参考这篇文章的matlab方法和步骤
https://blog.csdn.net/qq_44057443/article/details/92668331?spm=1001.2101.3001.6650.9&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-9.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-9.no_search_link

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/395976
推荐阅读
相关标签
  

闽ICP备14008679号