洗衣机模糊控制matlab仿真
洗衣机模糊控制仿真实验报告

洗衣机模糊控制仿真实验报告一、实验目的本实验旨在通过对洗衣机运行过程的模糊控制仿真实验,帮助学生更好地了解模糊控制的基本原理和实现方法。
二、实验原理洗衣机模糊控制系统主要包括模糊控制器、模糊推理机和输出规则等三个部分。
模糊控制器是模糊系统的核心部分,其主要作用是将输入信号转化为模糊集,并将控制输出信号转化为真实输出信号。
模糊控制器的输入为洗衣机工作状态的一些参数,例如水位、温度等,输出为洗衣机运行状态的一些控制命令,例如加热、搅拌等。
模糊推理机是由一系列规则组成的系统,它负责根据输入的模糊集和一组先验规则,进行模糊推理,得到控制输出信号的模糊集,即模糊控制器的中间变量。
输出规则主要为控制输出信号的模糊集赋值,即将模糊集中各个元素映射到真实输出信号的取值范围内。
三、实验步骤1、建立洗衣机的模糊控制系统模型,包括模糊控制器、模糊推理机和输出规则等。
2、设置洗衣机的运行参数,例如水位、温度等,作为模糊控制器的输入。
3、根据洗衣机的运行状态,制定一组先验规则,作为模糊推理机的输入,并进行模糊推理。
4、根据模糊推理得到的控制输出信号的模糊集,进行输出规则的映射,得到洗衣机的真实控制命令。
5、根据洗衣机的控制命令,模拟洗衣机的工作流程。
6、对洗衣机的工作流程进行仿真实验,并记录实验结果。
四、实验结果分析经过多次实验,得到了洗衣机的模糊控制系统的优化参数,能够实现洗衣机的良好控制。
通过对实验结果的分析,可以发现,模糊控制系统可以有效地调节洗衣机的运行状态,使其在不同的工作状态下保持稳定且高效的运行。
同时,模糊控制系统也具有很强的适应性和鲁棒性,可以自适应地调节参数,应对各种不同的运行环境。
五、实验总结本实验通过模拟洗衣机的工作流程,对模糊控制系统的基本原理和实现方法进行了深入探究,能够有效地帮助学生掌握模糊控制系统的设计和应用方法。
同时,在实验过程中,也需要注意对实验数据和结论的分析和总结,以便更好地优化模糊控制系统的参数和性能,实现最佳控制效果。
模糊控制系统课件4.4(FIS的设计与仿真)

坐标区
网格,可 填入3-100 之间的数 字
主菜单Options之下有两个子菜单:Plot(画图) 和Color Map(填色),都是关于绘图的。
实验一:用GUI设计Mamdani型FIS
洗衣机利用分光光度计传感器,通过检测洗涤液的
透明程度等方法,测出洗涤液中的污泥含量x∈[0,100]% 和油脂含量y∈[0,100]%。模糊控制规则根据x和y的数 据,选定洗涤时间t∈[0,60](分钟)。因为只考虑洗涤时 间,可以用双输入-单输出模糊控制器完成任务。
4.4 FIS的设计与仿真
启动MATLAB后,在主窗口键入fuzzy,回车。
模糊子集
把模糊推理系统改成T-S(Sugeno)型: File→New FIS…→Sugeno
线性函数
这两个编辑 框不允许填 入内容
相当于Mamdani推理中的蕴涵、综合、清晰化 三者的综合结果
模糊规则编辑器
以液位控制系统为例。
④if level is okay and rate is positive then valve is close slow
⑤if level is okay and rate is negative then valve is open slow 根据上述模糊规则,编辑这个“液位模糊控制器” 的仿真模型。
实验二:用GUI设计Sugeno型FIS
例:双输入(x和y)、单输出(u)系统,四条 模糊规则。
R1 : if R2 : if R3 : if R4 : if
x is x1 then u1 x 1; x is x2 and y is y1 then u 2 0.1x 4 y 1.2; x is x2 and y is y2 then u3 0.9 x 0.7 y 9; x is x3 and y is y2 then u4 0.2 x 0.1 y 0.2
模糊控制Matlab仿真

模糊控制Matlab仿真说明:a.控制对象为一阶系统,目的是为了简单,调通后可以修改控制对象,控制参数体会各个量对控制效果的影响。
b.一阶系统直接施加输入,如图1所示的控制对象,上升时间会很大。
完全可以使用PID 控制使控制效果满足需要。
这里使用模糊控制来代替PID控制器。
比较一下!模糊控制器设计模糊控制器的计算量是非常大的,我不从数学推导介绍。
讲一下利用matlab的模糊工具箱(Fuzzy logical toolbox)建立基本模糊控制器的方法。
在命令行输入fuzzy,就可以进入模糊推理系统编辑器(fis editor)。
利用这个工具制作一个*.fis的文件。
这个文件就是模糊控制器的核心!在simulink中和以往进行PID控制一样建立模型。
如图1,在simulink 的库里点击Fuzzy Logical toolbox,拖一个Fuzzyl logical controller with rule viewer,双击这个环节,在弹出的对话框的fis Matrix里填入你自己起的*.fis的名字,不需输入后缀fis。
在设计模糊控制器(*.fis)前,要想好,你设计的控制器需要几个输入,几个输出。
比如,本例中拟采用偏差E和偏差变化率Ec这两个量作为模糊控制器的输入,模糊控制器有一个输出。
很明显,这是利用模糊控制器代替PD控制的。
对应的模糊控制器的设计也要具有两个输入一个输出。
利用matlab的Fuzzy logical toolbox 设计模糊控制器(生成*.fis文件)的关键步骤:a.添加输入输出。
图3.fis编辑器默认的具有一个输出,添加第二个输入,并且分别命名为E,Ec,U。
b.确定隶属函数。
双击黄色和绿色的方框就可以进入隶属函数编辑对话框了。
设置E,Ec 的range为[-6,6],u的range为[-1,1]。
然后每一个变量再添加4个输入隶属函数,总共7个。
matlab提供了11种隶属函数,第一次用选择常用的三角形trimf,区别不大的。
智能控制实验-模糊控制

实验一 洗衣机的模糊控制仿真一、实验目的本实验要求在学生掌握模糊控制器基本工作原理和设计方法基础上,熟悉MALAB 中的模糊控制工具箱,能针对实际问题设计模糊控制器,建立模糊控制系统,训练学生综合运用计算机来解决一些实际问题的能力。
二、实验设备计算机一台、MATLAB 软件三、实验要求设计一个模糊控制器,根据衣物的泥污和油污程度,输出衣物的洗涤时间,通过改变控制参数的大小,观察模糊控制的性能。
四、实验步骤1.确定模糊控制器的结构选用两输入单输出模糊控制器,控制器的输入为衣物的泥污和油污,输出为洗涤时间。
2. 定义输入、输出模糊集 将泥污分为三个模糊集:泥污少SD 、泥污中MD 、泥污大LD ;油污分为三个模糊集:油污少SG 、油污中MG 、油污大LG ;将洗涤时间分为五个模糊集:很短VS 、短S 、中等M 、长L 、很长VL 。
3. 定义隶属度函数选用三角形隶属度函数实现泥污、油污和洗涤时间的模糊化:(50)/50050/50050(100)/505010050100(50)/50x x x x x x x x μμμμ=-⎧≤≤⎪≤≤⎧⎪==⎨⎨-<≤⎩⎪⎪<≤=-⎩SD MD 泥污LD (50)/50050/50050(100)/505010050100(50)/50x x x x x x x x μμμμ=-⎧≤≤⎪≤≤⎧⎪==⎨⎨-<≤⎩⎪⎪<≤=-⎩SG MG 油污LG(50)/50010/50010(100)/501025/501025(100)/5025402540/504060(100)/504060(50)/50x z x z x z x z x z z x z x z x μμμμμμ=-⎧≤≤⎪⎧≤≤⎪=⎨⎪-<≤⎩⎪≤≤⎧⎪==⎨⎨-<≤⎩⎪⎪≤≤⎧⎪=⎨<≤-⎪⎩⎪≤≤=-⎩SG MG MG 洗涤时间MG LG实验结果:实验分析:6.模糊推理因模糊控制规则表对称,所以上图为input1 和input2分别为50时input2和input1与洗涤时间的关系。
基于MATLAB的洗衣机模糊控制设计

基于MATLAB的洗衣机模糊控制设计MATLAB是一种功能强大的数学软件,可以用于模糊控制设计。
在本文中,我们将介绍如何使用MATLAB来设计一个基于模糊控制的洗衣机控制系统。
首先,我们需要定义洗衣机模糊控制系统的输入和输出变量。
在一个简单的洗衣机系统中,输入变量可以是衣物的脏度和水位,而输出变量可以是洗衣机的清洗时间和水温。
接下来,我们需要建立一个模糊控制器模型。
模糊控制器是一个基于模糊逻辑的控制器,能够处理模糊输入和输出变量。
在MATLAB中,我们可以使用Fuzzy Logic Toolbox来建立一个模糊控制器模型。
我们首先需要定义模糊输入变量的隶属函数。
在这个例子中,我们可以定义脏度变量的隶属函数为"低","中"和"高",水位变量的隶属函数为"低","中"和"高"。
然后,我们需要定义模糊输出变量的隶属函数。
在这个例子中,我们可以定义清洗时间变量的隶属函数为"短","适中"和"长",水温变量的隶属函数为"低","中"和"高"。
接下来,我们需要定义输入和输出变量之间的模糊规则。
在这个例子中,我们可以定义以下规则:规则1:如果脏度是低和水位是低,那么清洗时间是短和水温是低。
规则2:如果脏度是低和水位是中,那么清洗时间是适中和水温是中。
规则3:如果脏度是低和水位是高,那么清洗时间是长和水温是中。
规则4:如果脏度是中和水位是低,那么清洗时间是适中和水温是中。
规则5:如果脏度是中和水位是中,那么清洗时间是适中和水温是中。
规则6:如果脏度是中和水位是高,那么清洗时间是长和水温是高。
规则7:如果脏度是高和水位是低,那么清洗时间是长和水温是中。
规则8:如果脏度是高和水位是中,那么清洗时间是长和水温是高。
模糊控制的Matlab仿真实例分析

假设是二元线性关系
用下列 MATLAB 语句可绘出下图 。
可以看到,如果不考虑服务质量因素比食物质量因素对 于小费的支付占有更大的比重,上面的关系图形已经能 够反映一些实际的情况了。假如希望服务质量占小费的 80 % , 而食物仅占 20 %。这里可以设定权重因子:
用下列 MATLAB 语句可绘出下图
在Params(参数)处,选择三角形涵盖的区间,填写三个 值,分别为三角形底边的左端点、中点和右端点在横坐标 上的值。这些值由设计者确定。
用类似的方法设置输出output的参数。比如:共有9个规 则,所以相应地有9个输出隶属函数。默认3个隶属函数, 剩下6个由设计者加入。点击Edit菜单,选 Add Custom MS„->继续填入相应参数即可。
首先考虑最简单的情况,顾客总是多给总账单 的15%作为小费: 用 MATLAB 语句绘图,如下图所示。
虽然是简单的线性关 系,但这样的结果已 经基本能够反映服务 质量对小费的影响效 果了,如果考虑到顾 客所给的小费也应当 能反映食物的质量, 那么问题就在原来的 基础上扩展为:给定 两个从 0 到 10 的数 字分别代表服务和食 物的质量( 10 表示 非常好, 0 表示非常 差),这时小费与它 们之间的关系又应当 如何反映呢?
前面介绍过如何使用图形化工具建立模糊逻辑系 统,我们也可以完全用命令行或程序段的方式来 实现。 小费问题: 实际生活中有着许多模糊的概念和逻辑方式, “给小费”问题就是一个可以用模糊逻辑来分析 的经典的例子。下图表示的是一个关于饭店的服 务质量和顾客所给小费之间的关系图,左边表示 饭店的服务质量,作为输入;右边表示顾客所给 的小费,作为输出,两者是有一定逻辑关系的。
第五章模糊控制系统的MATLAB仿真PPT课件

37
38
5.2.6 FIS输出量曲面观测窗 1.输出量曲面观测窗界面简介 2.利用输出量曲面观测窗进行分析研究
39
5.2.7 用GUI设计Mamdani型模糊系统举例 1.选择模糊控制器的结构及模糊逻辑算法 2.定义覆盖输入、输出变量的模糊子集 3,编辑模糊控制规则 4.观测模糊推理过程
59
设计模糊推理结构
• Mamdani法 • Lorsen法 • Takagi-Sugeno方法。
60
(1).Mamdani方法
利用“极大—极小”合成规则定义模糊蕴 含表达的关系。例如:R :ifx为 A , t h e ny为 B
表达的关R C系 定义为
RCABXYA(x()x ,y)B(y)
40
41
42
4.观测模糊推理过程 5.观测清晰化方法对输出量的影响 6.观测整个论域上输出量与输入变量间的关
系
43
5.2.8 用GUI设计Sugeno型模糊系统举例 1.选择模糊系统的结构及逻辑算法 2.定义输入、输出变量的模糊子集 1)增加一个输出函数 2)命名 3)输入参数 3. 输入模糊控制规则 4.观测模糊推理过程 5.观测整个论域上输出量与输入量间的关系
13
5.2 模糊推理系统的设计与仿真
5.2.1 模糊推理系统的图形用户界面简介
14
15
5.2.2 模糊推理系统编辑器 1.FIS编辑器界面简介 • 菜单条和模框区
File Edit View
16
17
18
模糊逻辑区和当前变量区 2. FIS推理系统的编辑 3.编辑FIS的维数 4.编辑FIS输入、输出量的名称
3
• 5.1.2 仿真模型图的建立 • 1.打开模型编辑器界面 • 2.移入模块并予以合理布局
基于Matlab的洗衣机模糊控制 - 副本

基于MATLAB的洗衣机模型模糊设计控制一、问题描述随着现代社会生活节奏的不断加快和人们生活水平的不断提高,人们对各种方便、快捷的家用电器需求量越来越大,为了提高人们的生活效率,全自动洗衣机应运而生。
洗衣机的技术发展日新月异,产品类型众多,但是从总体来看,人们对洗衣机的基本要求应该是:省时、省电、省水、磨损率小、操作方便、功能完善等。
模糊控制洗衣机不仅实现了洗衣机的全面自动化,也提高了洗衣的质量,具有很强的实用性和较好的发展前景。
本设计就是围绕着智能洗衣机进行研究。
本课题的主要目的就是设计一个比较合理的洗衣机模糊控制器,这种采用模糊控制的洗衣机能够自动检测洗衣桶内水的脏污程度和污渍性质(油污或者泥污);能自动预选洗涤时间,并适时调整这些运行参数,以达到最佳的洗涤效果。
二、解决方案本课题的主要是通过模糊控制来对洗衣机进行控制,通过MATLAB对其仿真。
课题的主要目的是设计一个比较合理的洗衣机模糊控制器,这种采用模糊控制的洗衣机能够自动检测洗衣桶内水的脏污程度和污渍性质(油污或者泥污);能自动预选水位和洗涤时间,并能够进行整个洗涤过程中实施监控,并适时调整这些运行参数,以达到最佳的洗涤效果。
模糊控制器的组成框图如图1所示图1三、实现步骤本设计选用两输入单输出模糊控制器。
控制器的输入为衣物的污泥和油脂,输出为洗涤时间。
将污泥分为3个模糊集:SD(污泥少),MD (污泥中),LD (污泥多);将油脂分为3个模糊集:NG (油脂少),MG (油脂中),LG (油脂多);将输出的洗涤时间分为5个模糊集:VS (很短),S (短),M (中等),L (长),VL (很长)。
1、定义隶属函数污泥含量选用如下隶属函数:()()()()()()⎪⎪⎩⎪⎪⎨⎧-=⎩⎨⎧-=-==50/5050/10050/50/50x x x x x x x μLDMD SD μμμ污泥1005010050500500≤<≤<≤≤≤≤x x x x采用三角隶属函数可实现污泥的模糊化采用Matlab 仿真,如图2所示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
洗衣机模糊控制仿真
1.模糊控制背景
美国教授查徳(L.A.Zandeh)在1965年首先提出模糊集合的概念,由此打开了模糊数学及其应用的大门。
1974年英国教授马丹尼(E.H.Mamdani)首先将模糊集合理论应用于加热器的控制,创造了模糊控制的基本框架。
1980年,Sugeno开创了日本的首次模糊应用——控制一家富士电子水净化厂。
1983年他又开始研究模糊机器人。
随着模糊控制技术的不断发展,模糊控制逐渐被应用到日用家电产品的控制,例如电饭锅﹑照相机﹑吸尘器﹑洗衣机等。
2.仿真目的
本次仿真的主要目的是设计一个比较合理的洗衣机模糊控制器,它能够根据被洗涤衣物的污泥多少和油脂多少,综合得到洗涤时间,从而达到最佳的洗涤效果。
3.仿真方法
本次仿真借助matlab中集成的模糊控制工具箱,使用图形界面进行模糊控制器的设计。
最后随意给定几组输入,得到输出并作出简单分析。
4.模糊控制器的设计
4.1模糊控制器理论设计方法
①选择合适的模糊控制器类型;
②确定输入输出变量的实际论域;
③确定e,e
∆的模糊集个数及各模糊集的隶属度函数;
∆,u
④输出隶属度函数选为单点,可使解模糊简单;
⑤设计模糊控制规则集;
⑥选择模糊推理方法;
⑦解模糊方法。
4.2实际设计过程
①模糊控制器类型:选用两输入单输出模糊控制器,控制器输入为衣物的污泥和油脂,输出为洗涤时间。
②确定输入输出变量的实际论域:输入为Mud(污泥)和Grease (油脂),设置Range=[0 100](输入变化范围为[0,100]);输出为Time(洗涤时间),Range=[0 60](输出变化范围为[0,60])。
对应matlab 中模糊控制模块:
③确定模糊集个数及各模糊集的隶属度函数:将污泥分为3个模糊集:SD (污泥少)MD (污泥中)LD(污泥多);將油脂分为三个模糊集:NG (油脂少)MG (油脂中)LG (油脂多);将洗涤时间非为5个模糊集:VS (很短)S (短)M (中等)L (长)VL (很长)。
输入﹑输出隶属度函数都定为三角形隶属函数。
结合④输出隶属度函数选为单点,可使解模糊简单;定义污泥隶属函数如下 50)50()(x x SD -=μ 0≤x ≤50
50
x
0≤x ≤50
=Mad μ =)(x MD μ 50
)
100(x - 50<x ≤100
50)50()(-=x x LD μ 50<x ≤100
对应matlab 中隶属度函数仿真图如下:
由隶属函数设置污泥的3个模糊集参数为 [Input1] Name='Mud' NumMFs=3
MF1='SD':'trimf',[-50 0 50] MF2='MD':'trimf',[0 50 100] MF3='LD':'trimf',[50 100 150] 定义油脂隶属函数如下:
50)50()(y x SG -=μ 0≤y ≤50
50
y
0≤y ≤50
=Grease μ =)(x MG μ 50
)
100(y - 50<y ≤100 50)50()(-=y x LG μ 50<y ≤100
对应matlab中隶属度函数仿真图如下:
由隶属函数设置油脂3个模糊集参数为[Input2]
Name='Grease'
NumMFs=3
MF1='SG':'trimf',[-50 0 50]
MF2='MG':'trimf',[0 50 100]
MF3='LG':'trimf',[50 100 150]
定义输出时间隶属函数如下:
µVS(Z)=(10-Z)/10 0≤Z≤10
Z/10 0≤Z≤10
µS(Z)=
(25-Z)/15 10≤Z≤25
(Z-10)/15 10≤Z≤25
µM(Z)=
µ洗涤时间=(40-Z)/15 25≤Z≤40
(Z-25)/15 25≤Z≤40
µL(Z)=
(60-Z)/20 40≤Z≤60
µVL(Z)=(Z-40)/20 40≤Z≤60对应matlab中隶属度函数仿真图如下:
由隶属函数设置输出洗涤时间5个模糊集参数为
[Output1]
Name='Time'
NumMFs=5
MF1='S':'trimf',[0 10 25]
MF2='L':'trimf',[25 40 60]
MF3='VS':'trimf',[-10 0 10]
MF4='M':'trimf',[10 25 40]
MF5='VL':'trimf',[40 60 80]
⑤设计模糊控制规则:设计标准为污泥越多,油脂越多,洗涤时间越长;污泥适中,油脂适中,洗涤时间适中;污泥越少,油脂越少,洗涤时间越短。
建立模糊控制表如下:
洗涤时间Z
油脂y
SG MG LG
油脂X SD VS M L MD S M L LD M L VL
体现在matlab中模糊控制规则如下:
5.仿真实验
1.任給一输入[45,70],仿真结果如下,可以看出经过前面设计好的模糊控制器
得到输出时间为T=33.1。
2.输入为[0,0],仿真结果如下
分析:输出T=3.14,并不是0。
3.输入为[100,100],仿真结果如下
分析:输出为T=53.5,并不是60.
6.仿真结果综合分析
模糊推理方法常用的是Mamdani模糊推理法,由上面仿真结果能够看出虽然定义输出时间的变化范围是[0,60],但是仿真过程中并不能达到理想的最大最小输出时间。
这是因为在清晰化的过程中该仿真工具箱是采用一定的算法得到输出时间。
上面的仿真中总共设定了9条规则,当给定某一输入时,也就是给定了Mad与Grease的假定值,将该输入分别与9条规则中各自设定的隶属函数进行对应,并将两个输入综合作用的结果与相应规则中的输出时间Time对应得到一个输出结果,从而总共可以得到9个输出时间Time的隶属函数图,由仿真图就可以很方便的看到这个过程。
将9个输出按一定推理法整合在一个图上,这时再用到清晰化的方法比如最大隶属度法,中心法,加权平均法等进行解模糊,我们常使用的方法是取所有输出的中心或重心,最终确定一个输出时间,本仿真中最终输出就是最终洗涤时间Time。
另一方面,从输入分别为[0,0]和[100,100],输出时间为T=3.14和T=53.5可以看到,上面隶属函数的设定还是比较合理的。