在线推理法模糊控制器实验报告
洗衣机模糊控制仿真实验报告

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

在线推理式模糊逻辑控制器设计实验报告学院:电力学院专业:自动化学号:姓名:时间:2021年 11 月 16 日一、实验目的利用 Matlab 软件实现模糊控制系统仿真实验,认识模糊控制的在线推理方法的根根源理及实现过程。
二、实验要求以matlab 模糊工具箱中供应的一个水位模糊控制系统仿真的实例,定义语言变量的语言值,设置隶属度函数,依照供应的规那么建立模糊逻辑控制器。
最后启动仿真,观察水位变化曲线。
三、实验步骤表达在线推理模糊控制的仿真的主要步骤。
1〕在 matlab 命令窗口输入: sltank ,翻开水位控制系统的 simulink 仿真模型图,如图;2〕在 matlab 的命令窗口中,输入指令: fuzzy ,便翻开了模糊推理系统编写器〔 FIS Editor 〕,如图;3〕利用FIS Editor编写器的Edit/Add variable/input菜单,增加一条输入语言变量,并将两个输入语言和一个输出语言变量的名称分别定义为: level;rate;valve。
其中, level 代表水位〔三个语言值:低,高,正好〕,rate 代表变化率〔三个语言值:正,不变,负〕,valve 代表阀门〔五个语言变量:不变,迅速翻开,迅速关闭,缓慢翻开,缓慢关闭〕;4〕①利用FIS Editor 编写器的Edit/membership function 菜单,翻开隶属度函数编写器,以以下列图,将输入语言变量level 的取值范围〔range〕和显示范围〔display range〕设置为[-1 ,1] ,隶属度函数种类〔type〕设置为高斯型函数〔gaussmf〕,而所包含的三条曲线的名称〔name〕和参数〔parameters〕〔[宽度中心点 ]〕分别设置为: high,[0.3 -1];okay [0.3 0];low [0.3 1] 。
其中 high 、okay、low 分别代表水位高、正好、低;②将输入语言变量 rate 的取值范围〔 range 〕和显示范围〔 display range 〕设置为 [-0.1 ,0.1] ,隶属度函数种类〔 type 〕设置为高斯型函数〔 gaussmf〕,而所包含的三条曲线的名称〔 name〕和参数〔 parameters 〕〔 [ 宽度中心点 ] 〕分别设置为: negative,[0.03 -0.1];none [0.03 0];positive [0.03 0.1] 。
模糊控制原理与应用实验分析

模糊控制原理与应用实验讲义实验学时: 4单位:电信学院撰写人:谢仕宏审核:周强、亢洁、王素娥题目:模糊控制系统建模与仿真分析 (3)一、实验目的 (3)二、实验学时:4学时 (3)三、实验原理 (3)四、实验内容 (10)题目:模糊控制系统建模与仿真分析一、实验目的1、熟悉Matlab软件的基本操作方法2、掌握用matlab/Fuzzy logic toolbox进行模糊控制系统建模仿真的基本方法。
3、熟悉模糊控制系统设计的基本方法二、实验学时:4学时三、实验原理MATLAB R2008提供了建立模糊逻辑推理系统的仿真工具箱——Fuzzy Logic Toolbox,版本为Fuzzy Logic Toolbox2.2.7。
建立模糊逻辑推理系统有两种基本方法,第一种方法是借助模糊推理系统编辑器(Fuzzy Logic Editor)的图形界面工具建立模糊逻辑推理系统,第二种方法是利用命令建立模糊逻辑推理系统。
第一种方法使用简单、建模方便,适合于初学模糊逻辑控制系统建模与仿真的读者。
第二种方法稍难一些,但对深入了解模糊逻辑推理系统的MATLAB仿真知识大有帮助。
下面分别讲述两种方法,读者可自行选择阅读。
1模糊逻辑工具箱图形界面工具模糊逻辑工具箱图形工具是为了方便用户建立模糊推理系统而推出的图形化设计工具,在这里可快速方便的建立模糊推理系统并观测模糊规则、推理输出等。
模糊逻辑推理图形工具主要包括:基本模糊推理系统编辑器(fuzzy)、隶属函数编辑器(mfedit)、模糊规则编辑器(ruleedit)、模糊规则观测器(ruleview)、模糊推理输入输出曲面观测器(surfview)。
下面分别介绍它们的基本使用方法。
1.1基本模糊推理系统编辑器在Command Windows输入“fuzzy”命令,弹出如下图 1所示的“FIS Editor”(模糊推理系统编辑器)窗口。
在这里可以对包括输入、输出模糊语言变量的名称、模糊推理系统的类型和名称、模糊逻辑推理的各种运算(与、或、蕴含、规则合成、解模糊化)等高层属性进行编辑。
模糊控制实验

中南大学模糊控制课程实验报告学生姓名:彭雄威_____________ 指导教师: ________________ m _______ 学院:信息科学与工程学院学号:114611167 ______________实验一:本系统设计基于MATLAB图形模糊推理系统,设计步骤如下:打开MATLAB,输入指令fuzzy,打开模糊逻辑工具箱的图形用户界面窗口,新建一个Mamdani模糊推理系统。
(1) 增加一个输入变量,将输入变量命名为E、Ec,将输出变量命名U。
这样就建立了一个两输入单输出的模糊推理系统。
如图1.1所示。
图1.1增加一个输入变量(2) 设计模糊化模块:设计隶属度函数论域范围图3.2设计水位误差E模块3.3设计水位误差EC模块图3.4设计水位输出U模块(4)模糊控制器的规则设计le Editor: fuzzf(5)通过观察器观察规则情况在菜单view中的rules和surface选项分别对应得是规则观测器和曲而观测器。
123 4567891011121314151617181920212223242526272829”Input: 20】Plot points: ioi Move: [ left 11 rg ] |down] ( up ]Opened system tuzzf, 49 rules| 5 Close |图3.7规则观测器图3.6曲面观测器(6)保存编辑好的FIS文件实验二利用MATLAB软件的M文件编辑器和实验一所生成的fuzzf.FIS文件,在M 文件编辑器中输入:a=readfis('fuzzf');evalfis([・0.5广0.07;-0.5,0;・0.5,0.07; 0,・0.07;0,0;0,0.07;0.5广0.07;0.5,0;0.5,0.07],a)便可得fuzzf.FIS文件的模糊控制査询表,其中的数据在水位误差E的论域为[・ 1 1], 误差变化EC的论域为[.0.1 0.1]内可以任意取值。
模糊控制实验报告

模糊控制实验报告本实验通过使用模糊控制器来控制直流电机的转速。
模糊控制是一种基于模糊推理的控制方法,该方法可以处理一些无法准确数学建模的系统控制。
模糊控制的输入和输出都是模糊变量,这样可以考虑到系统存在的不确定性和模糊性。
实验装置包括模糊控制器、直流电机、转速测量装置、实验板等。
模糊控制器由模糊推理机、偏差和变化率输入模糊化模块、输出反模糊化模块、规则库组成。
实验板可通过控制开关选择转速和方向。
在实验中,通过设置转速值和方向,记录电机的真实转速和输出控制信号,来验证模糊控制器的控制效果。
通过不同的控制变量和规则库来对比不同的控制方案。
实验结果表明,模糊控制器对于直流电机转速的控制具有较好的效果。
当控制变量为偏差和变化率时,规则库中的设定合理,输出控制信号的变化平稳,电机转速较为稳定。
当增加控制变量或修改规则库时,控制效果也发生了变化。
同时,实验还验证了模糊控制的重要性和优越性,可以解决一些无法准确建模的系统控制问题。
在实验中,还需要注意一些实验细节,例如校准直流电机转速传感器的准确度,保证实验板电路的正常工作和实验数据的准确性,减少误差的影响。
总之,本实验通过实际操作验证了模糊控制器在直流电机转速控制中的应用,对于学习模糊控制的控制方法和实验操作具有很好的参考意义。
同时,本实验也展示了模糊控制对于处理模糊问题的效果。
在直流电机转速控制中,存在许多因素的影响导致控制过程不确定和模糊,例如负载的变化、外部干扰的存在等等。
而模糊控制可以将这些不确定因素转化为模糊变量进行处理,从而提高控制精度和鲁棒性。
此外,本实验也强调了规则库的重要性。
规则库是模糊控制中很关键的一部分,其中包含了专家经验和数学模型的映射关系。
规则库中的设定需要充分考虑被控对象的特性,才能够保证模糊控制器的控制效果。
而实验中不同的规则库设计对于控制效果的影响也展现了模糊控制的灵活性和可定制性。
最后,本实验的数据记录和实验结果分析也为后续工程实际应用提供了很好的参考。
模糊控制实验

中南大学模糊控制课程实验报告学生姓名:彭雄威指导教师:袁艳学院:信息科学与工程学院学号:114611167实验一:本系统设计基于MATLAB图形模糊推理系统,设计步骤如下:打开MATLAB,输入指令fuzzy,打开模糊逻辑工具箱的图形用户界面窗口,新建一个Mamdani模糊推理系统。
(1)增加一个输入变量,将输入变量命名为E、Ec,将输出变量命名U。
这样就建立了一个两输入单输出的模糊推理系统。
如图1.1所示。
图1.1增加一个输入变量(2) 设计模糊化模块:设计隶属度函数论域范围图3.2设计水位误差E模块3.3设计水位误差Ec模块图3.4设计水位输出U模块(4)模糊控制器的规则设计(5)通过观察器观察规则情况在菜单view中的rules和surface选项分别对应得是规则观测器和曲面观测器。
图 3.7 规则观测器图 3.6 曲面观测器 (6) 保存编辑好的FIS文件实验二:利用MATLAB软件的M文件编辑器和实验一所生成的fuzzf.FIS文件,在M 文件编辑器中输入:a=readfis('fuzzf');evalfis([-0.5,-0.07;-0.5,0;-0.5,0.07; 0, -0.07;0,0;0,0.07;0.5,-0.07;0.5,0;0.5,0.07],a)便可得fuzzf.FIS文件的模糊控制查询表,其中的数据在水位误差E的论域为[-1 1],误差变化Ec的论域为[-0.1 0.1]内可以任意取值。
a=readfis(' fuzzf ')a =name: ' fuzzf 'type: 'mamdani'andMethod: 'min'orMethod: 'max'defuzzMethod: 'centroid'impMethod: 'min'aggMethod: 'max'input: [1x2 struct]output: [1x1 struct]rule: [1x5 struct]a=readfis(' fuzzf ');evalfis([-0.5,-0.07;-0.5,0;-0.5,0.07; 0, -0.07;0,0;0,0.07;0.5,-0.07;0.5,0;0.5,0.07],a)ans =-0.2000-0.4444-0.46670.1363-0.0014-0.22710.40000.44120.1333实验三利用MATLAB软件的M文件编辑器(也可选择C语言)完成模糊控制查询表的计算。
智能控制--模糊控制实验报告

clear all;close all;T=0; %ʱ¼ä³£Êýa=newfis('fuzz_temperatrue');a=addvar(a,'input','e',[-3,3]); %Parameter e a=addmf(a,'input',1,'NB','zmf',[-3,-1]);a=addmf(a,'input',1,'NM','trimf',[-3,-2,0]);a=addmf(a,'input',1,'NS','trimf',[-3,-1,1]);a=addmf(a,'input',1,'Z','trimf',[-2,0,2]);a=addmf(a,'input',1,'PS','trimf',[-1,1,3]);a=addmf(a,'input',1,'PM','trimf',[0,2,3]);a=addmf(a,'input',1,'PB','smf',[1,3]);a=addvar(a,'output','u',[72,78]); %Parameter u a=addmf(a,'output',1,'NB','zmf',[72,74]);a=addmf(a,'output',1,'NM','trimf',[72,73,75]);a=addmf(a,'output',1,'NS','trimf',[73,74,75]);a=addmf(a,'output',1,'Z','trimf',[74,75,76]);a=addmf(a,'output',1,'PS','trimf',[75,76,77]);a=addmf(a,'output',1,'PM','trimf',[75,77,78]);a=addmf(a,'output',1,'PB','smf',[76,78]);rulelist=[1 1 1 1; %Edit rule base2 2 1 1;3 3 1 1;4 4 1 1;5 5 1 1;6 6 1 1;7 7 1 1];a=addrule(a,rulelist);a1=setfis(a,'DefuzzMethod','mom'); %Defuzzywritefis(a1,'temperatrue'); %Save to fuzzy file "tank.fis" a2=readfis('temperatrue');figure(1);plotfis(a2);figure(2);plotmf(a,'input',1);figure(3);plotmf(a,'output',1);flag=1;if flag==1showrule(a) %Show fuzzy rule baseruleview('temperatrue'); %Dynamic Simulationenddisp('-------------------------------------------------------');disp(' fuzzy controller table:e=[-3,+3],u=[-4,+4] ');disp('-------------------------------------------------------');for i=1:1:7e(i)=i-4;Ulist(i)=evalfis([e(i)],a2);endUlist=round(Ulist)e=-3; % Erroru=evalfis([e],a2) %Using fuzzy inference四、Simulink仿真模型五、实验结果令T=0;1、模糊控制器为一维控制器,输入输出变量的量化等级为7级,取5个模糊集。
智能计算——模糊推理实验

实验报告2018 ──2019 学年第二学期一、实验目的及要求二、实验原理、实验内容三、实验仪器设备及材料四、操作方法与实验步骤五、实验数据记录及处理六、实验结果分析实验四:模糊推理1.主要代码# -*- coding: utf-8 -*-import sympy# 定义模糊规则RULE = {'SD':{'NG':'VS','MG':'M','LG':'L'},'MD':{'NG':'S','MG':'M','LG':'L'},'LD':{'NG':'M' ,'MG':'L','LG':'VL'}}# 污泥隶属度函数def ruleMD(stain):if(stain>=0 and stain<=50):return stain/50else:return (100-stain)/50def ruleSD(stain):result = (50-stain)/if(result < ruleMD(stain)):return 'MD'else:return 'SD'def ruleLD(stain):result = (stain-50)/if(result < ruleMD(stain)):return 'MD'else:return 'LD'# 油脂隶属度函数2、实验步骤和实验结果(1)实验步骤流程如下图:推理语句:If A AND B then C(2)实验结果:3、不同的油污情况,需要的洗涤时间仪器设备损坏、非正常损耗材料(试剂)及处理情况:无教师对报告的最终评价及处理意见:教师签字:年月日。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在线推理式模糊逻辑控制器设计实验报告
学院:电力学院
专业:自动化
学号:
姓名:
时间:2013年11月16日
一、实验目的
利用Matlab软件实现模糊控制系统仿真实验,了解模糊控制的在线推理方法的基本原理及实现过程。
二、实验要求
以matlab模糊工具箱中提供的一个水位模糊控制系统仿真的实例,定义语言变量的语言值,设置隶属度函数,根据提供的规则建立模糊逻辑控制器。
最后启动仿真,观察水位变化曲线。
三、实验步骤
叙述在线推理模糊控制的仿真的主要步骤。
1)在matlab命令窗口输入:sltank,打开水位控制系统的simulink仿真模型图,如图;
2)在matlab的命令窗口中,输入指令:fuzzy,便打开了模糊推理系统编辑器(FIS Editor),如图;
3)利用FIS Editor编辑器的Edit/Add variable/input菜单,添加一条输入语言变量,并将两个输入语言和一个输出语言变量的名称分别定义为:level;rate;valve。
其中,level代表水位(三个语言值:低,高,正好),rate代表变化率(三个语言值:正,不变,负),valve代表阀门(五个语言变量:不变,迅速打开,迅速关闭,缓慢打开,缓慢关闭);
4)①利用FIS Editor编辑器的Edit/membership function菜单,打开隶属度函数编辑器,如下图,将输入语言变量level的取值范围(range)和显示范围(display range)设置为[-1,1],隶属度函数类型(type)设置为高斯型函数(gaussmf),而所包含的三条曲线的名称(name)和参数(parameters)([宽度中心点])分别设置为:high,[0.3 -1];okay [0.3 0];low [0.3 1]。
其中high 、okay、low分别代表水位高、正好、低;
②将输入语言变量rate的取值范围(range)和显示范围(display range)
设置为[-0.1,0.1],隶属度函数类型(type)设置为高斯型函数(gaussmf),而
所包含的三条曲线的名称(name)和参数(parameters)([宽度中心点])分
别设置为:negative,[0.03 -0.1];none [0.03 0];positive [0.03 0.1]。
其中negativ 、none、positive分别代表水位变化率为负、不变、正;
③将输出语言变量valve的取值范围(range)和显示范围(display range)设置为[-1,1],隶属度函数类型(type)设置为三角型函数(trimf),而所包含的五条曲线的名称(name)和参数(parameters)([a b c])分别设置为:close_fast,[-1 -0.9 -0.8 ]; close_slow,[-0.6 -0.5 -0.4]; none_change,[-0.1 0 0.1] ;open_slow,[0.2 0.3 0.4] ;open_fast,[0.8 0.9 1]。
其中close_fast阀门迅速关闭,close_slow 阀门缓慢关闭,none_change ,open_slow阀门缓慢打开, open_fast阀门迅速打开。
参数a,b,c指定三角形的形状,第二位值代表函数的中心,第一、三位值决定了函数曲线的起始和终止点;
5)利用编辑器的edit/rules菜单,打开模糊规则编辑器(rules editor),如下图,根据指导书给出的规则(如下)分别设置五条模糊规则;
所确定模糊规则:
① if(水位正好)then(阀门大小不变)
②if(水位低)then(阀门迅速打开)
③if(水位高)then(阀门迅速关闭)
④if(水位正好且变化率为正)then(阀门缓慢关闭)
⑤if(水位正好且变化率为负)then(阀门缓慢打开)
模糊规则编辑器(rules editor):
6)利用编辑器的FIS Editor/ file/export to workspace,将按照步骤2-5建立的模糊推理系统,命名为tank保存到工作空间中;
7)打开水位控制系统的simulink仿真模型图sltank,然后打开fuzzy logic controller模糊逻辑控制器对话框,在其FIS file or structure 参数对话框中输入:tank,如图;
8)在simulink仿真系统中,仿真参数设置如下图所示的窗口,正确设置仿真参数后,启动仿真,观察scope4或comparison便可得到水位变化曲线。
四、实验内容
1、画出在仿真过程中设置的两个输入变量和一个输出变量的隶属度函数;
①、level
②、RA TE
③、V ALVE
2、画出仿真得到的水位变化曲线。