基于MATLAB的水箱水位模糊控制

合集下载

基于MATLAB的水箱水位模糊控制系统的设计

基于MATLAB的水箱水位模糊控制系统的设计

小相位特性、不稳定性、时滞和负荷干扰等。若采用单一的水位反馈控制难以达到预期的控 制效果,所以采用了仿人的模糊控制方法依据操作人员的现场经验制成模糊控制表,通过判 断水位的偏差及偏差变化率来控制输出,并易于在 PLC 上实现。模糊 PID 控制器的特点是在 大范围内利用模糊推理的方法调整系统的控制量 U,而在小偏差范围内转换成 PID 控制,两 者的转换根据事先给定的偏差范围自动实现[3]。这样做的好处是:既保证动态响应效果,又 能改善稳态控制精度。图 3 为模糊 PID 控制器的系统方框图。
r
+ _
PID 控制器 e
ec 模糊控制器 d/dt
e y
对象 U
变送器
图 3 模糊 PID 控制器系统方框图
其中,模糊控制器和 PID 控制器的切换是通过在 MATLAB 的 M 文件中事先设定误差 e 的 范围来自动实现的[4]。选取水位误差 e 的基本论域为[-10cm,10cm],选取误差变化率 ec 的 基本论域为[-4,4],选取控制量 u 的基本论域为[0,4000]。e、ec、u 的语言变量值分别 为:e={NB,NM,NS,ZE,PS,PM,PB},ec={NB,NM,NS,ZE,PS,PM,PB},u={NB,NM, NS,ZE,PS,PM,PB}。
在现代工业生产及日常生活中,有很多方面都会涉及到水位控制这个问题。而在绝大多 数情况下,我们是很难或是不可能得到被控对象的精确数学模型的,因此采用数学工具或计 算机仿真技术的传统控制理论已经无法解决此类系统的控制问题。[1]智能控制的概念主要是 针对控制对象及其环境、目标和任务的不确定性和复杂性而提出来的,而模糊逻辑控制则作 为一种新颖的智能控制方式越来越受到人们的重视。模糊逻辑控制是智能控制领域的重要发 展方向,模糊控制技术被称为“21 世纪的核心技术”。

基于MATLAB的洗衣机模糊控制设计毕业设计

基于MATLAB的洗衣机模糊控制设计毕业设计

毕业设计基于MATLAB的洗衣机模糊控制设计摘要模糊控制洗衣机不仅实现了洗衣机的全面自动化,也提高了洗衣的质量,具有很强的实用性和较好的发展前景。

本设计的主要目的是设计一个比较合理的洗衣机模糊控制器,这种采用模糊控制的洗衣机能够通过洗衣桶内水的脏污程度和污渍性质(油污或者泥污)来自动预选水位和洗涤时间,以达到最佳的洗涤效果。

本文主要研究了基于MATLAB的洗衣机模糊控制。

首先介绍了模糊控制的基本原理,明确本设计中所要控制的变量,即水位和洗涤时间。

其次,定义了输入、输出模糊集,结合实际情况定义了隶属函数,然后建立模糊控制规则,给出模糊控制表,进行了模糊推理。

最后采用Simulink对该系统进行仿真,通过仿真曲线可以看出,文中采用的模糊控制方法是正确而有效的。

关键词:模糊控制;模糊集;隶属函数;控制规则;模糊推理AbstractFuzzy control of washing machine does not only achieve a fully automated washing machine, but also improve the quality of laundry; it has a strong practicality and a good development prospect.The main purpose of this design is to design a more reasonable washing machine fuzzy controller, fuzzy control of washing machine can automatically detect the dirty level of laundry bucket and the nature of stain (oil or sediment); it also can automatically pre-selected water level and washing time to achieve the best water quality.This paper mainly studies what based on the MATLAB fuzzy control of washing machines. First, it introduces the basic principles of fuzzy control, clearly the variables of this design to control, those are water level and washing time; Second, define the input and output fuzzy sets, and define the membership function combined the actual conditions, and then create the fuzzy control rules, give the fuzzy control table, then use these to the fuzzy reasoning. Finally, Simulink simulates the system; the simulation curves show that the text used in fuzzy control method is correct and effective.Key words:fuzzy control; fuzzy sets; the membership function; control rules; the fuzzy reasoning目录第1章前言 (1)1.1 选题的目的及意义 (1)1.2 国内外发展情况 (1)1.3 MATLAB简介 (2)1.4 模糊控制简介 (4)1.5 论文的主要内容 (4)第2章模糊控制器原理及设计 (6)2.1 模糊控制原理 (6)2.2 模糊控制系统的分类 (17)2.3 模糊控制器的设计 (18)第3章洗衣机的模糊控制 (21)3.1 洗衣机的时间控制 (21)3.2 洗衣机的水位控制 (28)3.3 本章小结 (31)结论 (32)参考文献 (33)致谢 (34)附录1 (35)附录2 (36)附录3 (37)附录4 (38)附录5 (40)第1章前言1.1 选题的目的及意义随着现代社会生活节奏的不断加快和人们生活水平的不断提高,人们对各种方便、快捷的家用电器需求量越来越大,为了提高人们的生活效率,全自动洗衣机应运而生。

水箱液位matlab模糊控制例程sltank详解【范本模板】

水箱液位matlab模糊控制例程sltank详解【范本模板】

一问题描述水位控制系统是由水箱(Tank),进水管、出水管和控制阀门等构成。

在进水管上,安装有一液压阀门,控制它的位置,可以控制流入水箱的流量.出水管道的面积(Out pipe crossection)保持常数,因此,流出出水管的流量主要与水箱的水位和水压有关。

系统具有明显的非线性特性.我们的目的是构建一个模糊闭环控制系统.其控制目的是通过调整控制阀门的开度,达到控制水箱水位的目的,并使其能够快速跟随所设定的水位(给定输入)。

除控制对象外,控制系统应包含有水位检测装置,控制器(常规PID 控制器或模糊控制器)及执行机构。

二控制系统动态结构图流速计算依据为简化伯努利方程或托里拆利定律,二者结论一致。

其中托里拆利定律内容为:忽略粘滞性,任何液体止点从小孔中流出的速度与它从h高度处自由落下的速度相等。

Level flow out动态模型中主要用到的计算关系式如下:液位=容积/底面积level=tank volume/area流量=流速*出水口面积流速=(2*g*level)^0.5被控对象水箱模型搭建按照上述动态结构图进行,实际设计的水箱模型如下:封装后执行机构:VALVE三水位控制系统模型四模型使用方法启动matlab,命令行输入sltank,既可打开水位模糊控制仿真模型. 设置const大于等于0,系统工作于PID控制模式设置const小于0,系统工作于模糊控制模式模糊控制时液位输入输出关系(双击Comparison示波器)液位动画PID控制时液位的输入输出关系比较两种控制模式下液位曲线可以发现PID控制有超调,这一点在液位动画中也有体现.修改模型参数PID参数的调整可以直接双击PID Controller模块设置,这里着重介绍模糊控制器参数的修改.用到的主要命令如下:例如可通过以下代码以文本形式显示tanka=readfis(’tank’)%读取tank文件showfis(a); %显示在这里通过模糊推理的用户界面来修改水位控制的规则库,查看对控制效果的影响。

模糊控制水箱液位调节

模糊控制水箱液位调节

实验二:模糊控制水箱液位调节一实验目的1.掌握模糊控制的原理2.加强模糊控制在实践中的应用二实验器材装有Matlab软件PC电脑一台三实验原理模糊控制的基本原理:它的核心部分为模糊控制器,模糊控制器的控制规律由有计算机程序实现。

详见P32(模糊控制原理)。

四原代码clear allclose allq1=0; %定义第一个水箱的入水量q2=0; %定义第一个水箱的出水量q3=0; %定义第二个水箱的出水量q4=0; %定义第三个水箱的出水量b=1.4; %定义第一个水箱入水量的控制系数a1=8.6; %定义第一个水箱出水量的控制系数a2=8.6; %定义第一个水箱出水量的控制系数h1=100; %定义第一个水箱中水的初始高度h2=100; %定义第二个水箱中水的初始高度h3=100; %定义第三个水箱中水的初始高度v=119; %定义sin函数的系数s=190; %定义水箱底面积k=10; %定义开关控制量e=0; %定义误差e_1=0;ec=0;H=130; %定义第三个水箱的期望高度e=H-h1;a=newfis('fuzz'); %误差函数a=addvar(a,'input','e',[-25,25]);a=addmf(a,'input',1,'NB','zmf',[-25,-10]);a=addmf(a,'input',1,'PS','trimf',[-25,-10,0]);a=addmf(a,'input',1,'Z','trimf',[-10,0,10]);a=addmf(a,'input',1,'PS','trimf',[0,10,25]);a=addmf(a,'input',1,'PB','smf',[10,25]);a=addvar(a,'output','u',[0,100]); %控制量输出函数a=addmf(a,'output',1,'NB','zmf',[0,30]);a=addmf(a,'output',1,'NS','trimf',[0,30,50]);a=addmf(a,'output',1,'Z','trimf',[30,50,70]);a=addmf(a,'output',1,'PS','trimf',[50,70,100]);a=addmf(a,'output',1,'PB','smf',[70,100]);rulelist=[1 1 1 1;2 2 1 1;3 3 1 1;4 4 1 1;5 5 1 1];a = addrule(a, rulelist);for i=1:1:8000tt(i)=i; %时间轴q1=b*k; %第一个水箱的进水量q2=a1*sqrt(h1); %第一个水箱的出水量h1=h1+(q1-q2)/s; %第一个水箱中水的高度q3=a2*sqrt(h2); %第二个水箱的进水量h2=h2+(q2-q3)/4; %第二个水箱中水的高度q4=v*abs(sin(2.3*pi*i+0.35)); %第二个谁想的出水量h3=h3+(q3-q4)/s; %第三个水箱中的高度hh(i)=h3;k=evalfis(e,a);e=H-h3;endplot(tt,hh)五、插图。

智能控制及MATLAB实现—水箱液位模糊控制仿真设计

智能控制及MATLAB实现—水箱液位模糊控制仿真设计

智能控制及MATLAB实现—水箱液位模糊控制仿真设计智能控制是一种利用先进的智能技术和算法来实现自动控制的方法。

在智能控制中,模糊控制是一种常见且有效的方法之一、模糊控制通过将模糊逻辑应用于控制系统中的输入和输出,根据模糊规则来进行决策和控制。

水箱液位控制是一个典型的控制问题,常常用于工业和民用领域中的自动化系统。

在许多控制应用中,水箱液位的控制是一个关键的问题,因为它需要根据系统的液位情况来实现稳定的控制。

在模糊控制中,首先需要建立一套模糊规则系统,该系统包括模糊化、模糊推理和解模糊化这三个步骤。

模糊化是将实际输入转换为模糊集合的过程。

在水箱液位控制中,可以将液位分为低、中和高三个模糊集合。

通过将实际液位值映射到这些模糊集合中的一个,来表示液位状态。

模糊推理是根据一组模糊规则,将模糊输入转换为模糊输出的过程。

通过将输入和规则进行匹配,确定输出的模糊集合。

在水箱液位控制中,可以使用如下规则:如果液位低且液位变化小,则控制信号为增大水流量;如果液位高且液位变化大,则控制信号为减小水流量;如果液位中等且液位变化适中,则控制信号为不变。

解模糊化是将模糊输出转换为实际的控制信号的过程。

在水箱液位控制中,可以使用模糊加权平均值的方法来进行解模糊化。

通过将模糊集合和其对应的权重进行加权平均计算,得到最终的控制信号。

在MATLAB中,可以使用Fuzzy Logic Toolbox来实现水箱液位模糊控制仿真设计。

首先需要建立输入和输出的模糊化和解模糊化函数,然后根据实际的模糊规则,构建模糊系统。

最后通过设定输入的模糊值,使用模糊系统进行推理和解模糊,得到最终的控制信号。

总结起来,智能控制及MATLAB实现水箱液位模糊控制仿真设计包括建立模糊规则系统,进行模糊化、模糊推理和解模糊化三个步骤,通过Fuzzy Logic Toolbox来实现模糊控制系统的构建和仿真。

通过利用模糊控制的方法,可以实现水箱液位的自动稳定控制,并提高了控制系统的鲁棒性和适应性。

智能控制及MATLAB实现—水箱液位模糊控制仿真设计

智能控制及MATLAB实现—水箱液位模糊控制仿真设计

水箱水位模糊控制系统设计一.在MATLAB命令窗口中输入sltank,便可打开如图所示的模型窗口。

图1 sltank仿真图(1)打开MATLAB,输入指令fuzzy,打开模糊逻辑工具箱的图形用户界面窗口,新建一个Mamdani模糊推理系统。

(2)增加一个输入变量,将输入变量命名为水位误差、误差变化,将输出变量命名为阀门开关速度。

这样就建立了一个两输入单输出的模糊推理系统,保存为shuiwei1。

图2 增加一个输入变量(3)设计模糊化模块;设水位误差level的论域为[2、95 3、05],误差变化率rate的论域为[-0、2 0、2];两个输入量的模糊集为level设为为7个,rate设为5个:其中水位误差level定为NB、NM、NS、ZE、PS、PM、PB;参数分别为[0、01 2、95]、[0、01 2、97],[0、01 2、99]、[0、01 3]、[0、01 3、01]、[0、01 3、03]、[0、01 3、05],隶属度均为高斯函数;图3 输入量level的参数设定误差变化率rate分别为负大,负小,不变,正小,正大。

参数分别为,[0、03 -0、2]、[0、03 -0、1]、[0、03 0]、[0、03 0、1]、[0、03 -0、2],隶属度函数均为高斯函数。

图4 误差变化率rate的参数设定阀门的开关速度设为七个等级:快关,中关,慢关,不动,慢开,中开,快开,其论域为[2、95 3、05]。

参数分别为;[2、94 2、95 2、96]、[2、965 2、97 2、975]、[2、99 2、99 2、995]、[2、999 3 3、001]、[3、005 3、01 3、015]、[3、02 3、03 3、035]、[3、04 3、05 3、06],隶属函数为三角形函数。

图5 输出量valve的参数设定(4)设计模糊规则打开Ruel Editor窗口,通过选择添加模糊规则;1)If (level is NB) and (rate is 负大) then (valve is 快关) (1)2)If (level is NB) and (rate is 负小) then (valve is 快关) (1) 3)If (level is NB) and (rate is 不变) then (valve is 快关) (1) 4)If (level is NB) and (rate is 正小) then (valve is 中关) (1)5)If (level is NB) and (rate is 正大) then (valve is 不动) (1) 6)If (level is NM) and (rate is 负大) then (valve is 快关) (1) 7)If (level is NM) and (rate is 负小) then (valve is 快关) (1) 8)If (level is NM) and (rate is 不变) then (valve is 快关) (1) 9)If (level is NM) and (rate is 正小) then (valve is 中关) (1)10)If (level is NM) and (rate is 正大) then (valve is 不动) (1) 11)If (level is NS) and (rate is 负大) then (valve is 中关) (1) 12)If (level is NS) and (rate is 负小) then (valve is 中关) (1) 13)If (level is NS) and (rate is 不变) then (valve is 中关) (1) 14)If (level is NS) and (rate is 正小) then (valve is 不动) (1) 15)If (level is NS) and (rate is 正大) then (valve is 慢开) (1) 16)If (level is ZE) and (rate is 负大) then (valve is 中关) (1) 17)If (level is ZE) and (rate is 负小) then (valve is 慢关) (1) 18)If (level is ZE) and (rate is 不变) then (valve is 不动) (1)19)If (level is ZE) and (rate is 正小) then (valve is 慢开) (1) 20)If (level is ZE) and (rate is 正大) then (valve is 中开) (1) 21)If (level is PS) and (rate is 负大) then (valve is 慢关) (1) 22)If (level is PS) and (rate is 负小) then (valve is 不动) (1) 23)If (level is PS) and (rate is 不变) then (valve is 中开) (1) 24)If (level is PS) and (rate is 正小) then (valve is 中开) (1) 25)If (level is PS) and (rate is 正大) then (valve is 中开) (1) 26)If (level is PM) and (rate is 负大) then (valve is 不动) (1) 27)If (level is PM) and (rate is 负小) then (valve is 中开) (1) 28)If (level is PM) and (rate is 不变) then (valve is 快开) (1) 29)If (level is PM) and (rate is 正小) then (valve is 快开) (1) 30)If (level is PM) and (rate is 正大) then (valve is 快开) (1) 31)If (level is PB) and (rate is 负大) then (valve is 不动) (1) 32)If (level is PB) and (rate is 负小) then (valve is 中开) (1) 33)If (level is PB) and (rate is 不变) then (valve is 快开) (1) 34)If (level is PB) and (rate is 正小) then (valve is 快开) (1) 35)If (level is PB) and (rate is 正大) then (valve is 快开) (1) 这35条模糊控制规则的权重都为1、图6 模糊控制规则的设定(5)利用编辑器的 to Workspace, 将当前的模糊推理系统,以shuiwei1保存到工作空间中。

基于MATLAB的模糊控制系统设计

基于MATLAB的模糊控制系统设计

实验一基于MATLAB的模糊控制系统设计1。

1实验内容(1)基于MATLAB图形模糊推理系统设计,小费模糊推理系统;(2)飞机下降速度模糊推理系统设计;(3)水箱液位模糊控制系统设计及仿真运行.1.2实验步骤1小费模糊推理系统设计(1)在MATLAB的命令窗口输入fuzzy命令,打开模糊逻辑工具箱的图形用户界面窗口,新建一个Madmdani模糊推理系统。

(2)增加一个输入变量,将输入变量命名为service、food,输出变量为tip,这样建立了一个两输入单输出模糊推理系统框架。

(3)设计模糊化模块:双击变量图标打开Membership Fgunction Editor窗口,分别将两个输入变量的论域均设为[0,10],输出论域为[0,30]。

通过增加隶属度函数来进行模糊空间划分.输入变量service划分为三个模糊集:poor、good和excellent,隶属度函数均为高斯函数,参数分别为[1.5 0]、[1,5 5]和[1。

5 10];输入变量food划分为两个模糊集:rancid和delicious,隶属度函数均为梯形函数,参数分别为[0 0 1 3]和[7 9 10 10];输出变量tip划分为三个模糊集:cheap、average和generous,隶属度函数均为三角形函数,参数分别为[0 5 10]、[10 15 20]和[20 25 30].(4)设置模糊规则:打开Rule Editor窗口,通过选择添加三条模糊规则:①if (service is poor)or (food is rancid) then (tip is cheap)②if (service is good) then (tip is average)③if (service is excellent) or (food is delicious)then (tip is generous)三条规则的权重均为1.(5)模糊推理参数均使用默认值,通过曲面观察器(Surface Viewer)查看小费模糊推理的输入输出关系曲面。

Matlab 水位控制仿真

Matlab 水位控制仿真

3-2水箱模糊控制器(MATLAB 演示)控制问题:水箱有一个进水口和一个出水口。

假设出水口固定不变,水箱水位则与出水速度有关。

出水速度是与水压有关,水压反过来又与水位高度有关,这是个非线性关系。

我们希望通过控制进水阀门,实现对水箱水位的任意控制。

最常用我们用方波信号来评价控制性能。

1 打开FIS编辑器: fuzzy tank1)模糊推理系统结构图:2)水箱FIS系统结构参数:-----------------------------------a=readfis('tank')---------------------------------a =name: 'tank'type: 'mamdani'andMethod: 'prod'orMethod: 'probor'defuzzMethod: 'centroid'impMethod: 'prod'aggMethod: 'max'input: [1x2 struct]output: [1x1 struct]rule: [1x5 struct]3)水箱FIS详细参数--------------------------------------a=readfis('tank')showfis(a)---------------------------------------1. Name tank2. Type mamdani3. Inputs/Outputs [2 1]4. NumInputMFs [3 3]5. NumOutputMFs 56. NumRules 57. AndMethod prod ;求积运算8. OrMethod probor ;代数和运算9. ImpMethod prod10. AggMethod max11. DefuzzMethod centroid12. InLabels level 输入变量名13. rate14. OutLabels valve 输出变量名15. InRange [-1 1] ;输入论域16. [-0.1 0.1]17. OutRange [-1 1] 输出论域18. InMFLabels high 输入1模糊参考集名称19. okay20. low21. negative 输入2模糊参考集名称22. none23. positive24. OutMFLabels close_fast ;输出模糊参考集名称25. close_slow26. no_change27. open_slow28. open_fast29. InMFTypes gaussmf ;输入模糊参考集形状,高斯型30. gaussmf31. gaussmf32. gaussmf33. gaussmf34. gaussmf35. OutMFTypes trimf ;输出模糊参考集形状,三角形36. trimf37. trimf38. trimf39. trimf40. InMFParams [0.3 -1 0 0] 模糊参考集形状参数41. [0.3 0 0 0]42. [0.3 1 0 0]43. [0.03 -0.1 0 0]44. [0.03 0 0 0]45. [0.03 0.1 0 0]46. OutMFParams [-1 -0.9 -0.8 0]47. [-0.6 -0.5 -0.4 0]48. [-0.1 0 0.1 0]49. [0.2 0.3 0.4 0]50. [0.8 0.9 1 0]51. Rule Antecedent [2 0] 模糊规则前件52. [3 0]53. [1 0]54. [2 3]55. [2 1]51. Rule Consequent 3 模糊规则后件52. 553. 154. 255. 451. Rule Weight 152. 153. 154. 155. 151. Rule Connection 152. 153. 154. 155. 14)列出水箱FIS的模糊规则------------------------------------a=readfis('tank');showrule(a)------------------------------------ans =1. If (level is okay) then (valve is no_change) (1)2. If (level is low) then (valve is open_fast) (1)3. If (level is high) then (valve is close_fast) (1)4. If (level is okay) and (rate is positive) then (valve is close_slow) (1)5. If (level is okay) and (rate is negative) then (valve is open_slow) (1) 5)隶属函数形状6)模糊推理过程图7)模糊推理输入输出关系图sltank,进入Simlink环境观察输入与输出的关系(1)模糊控制器与PID控制器作比较将开关选择“const”, 由-1改为1,表示PID控制器工作观察输出响应情况(4)观察模糊规则变化的影响键入命令:ruleedit tank删除最后两条规则,将结果临时存入工作空间: File /Export / To workspace(退出ruleedit窗口时不要选择保存选择,否则会破坏源程序设置)1. If (level is okay) then (valve is no_change) (1)2. If (level is low) then (valve is open_fast) (1)3. If (level is high) then (valve is close_fast) (1)4. If (level is okay) and (rate is positive) then (valve is close_slow) (1)5. If (level is okay) and (rate is negative) then (valve is open_slow) (1)(c)切换到sltank的Simlink环境,观察结果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录
前言
1.模糊控制概述
模糊控制的产生及特点 (3)
模糊控制技术的发展 (4)
模糊控制理论的研究现状 (5)
2.模糊推理原理
模糊控制的基本工作原理 (6)
3.基于MATLAB的水箱供水模糊控制
水箱水位模糊控制系统设计 (8)
小结 (16)
参考文献 (17)
前言
随着社会经济的迅速发展,水对人们生活与工业生产的影响越来越重要,尤其是近几年,随着居民生活水平的显著提高和城市化进程的加快,居民生活用水和工业用水增长幅度加大,原有的供水系统已经不能满足人们的需求。

为了保证正常的供水,这里应用模糊控制技术,实现对水箱水位的自动控制。

3、基于MATLAB的水箱供水模糊控制
水箱水位模糊控制系统设计
本系统设计基于MATLAB图形模糊推理系统,设计步骤如下:(1)打开MATLAB,输入指令fuzzy,打开模糊逻辑工具箱的图形用户界面窗口,新建一个Mamdani模糊推理系统。

图在FIS Editor窗口中新建水位控制模糊推理系统
(2)增加一个输入变量,将输入变量命名为水位误差、误差变化,将输出变量命名为阀门开关速度。

这样就建立了一个两输入单输出的模糊推理系统,保存为。

图增加一个输入变量
(3)设计模糊化模块:设水位误差的论域为[-1 1],误差变化的论域为[ ];
两个输入量的模糊集都定为5个:其中水位误差定为高、偏高、合适、偏低、低五等;参数分别为[ -1]、[ ]、[ 0]、[ ]、[ 1];
图设计水位误差模块
误差变化分为大、偏大、合适、偏小、小五等。

参数分别为[ ]、[ ]、[ 0]、[ ]、[ ],
隶属度函数均为高斯函数。

图设计误差变化模块
阀门的开关速度定为5等:快开、慢开、不动、慢关、快关。

参数分别为[ 0 ]、[0 ]、[ ]、[ 1]、[ 1 ]。

论域为[-1 1]。

隶属度函数为三角形函数。

图设计输出模块
(4)设置模糊规则:打开Ruel Editor窗口,通过选择添加模糊规则:
1)if(水位误差is高)and(误差变化is大)then(阀门开关速度is快关)
2) if(水位误差is高)and(误差变化is偏大)then(阀门开关速度is快关)
3) if(水位误差is高)and(误差变化is合适)then(阀门开关速度is慢关)
4) if(水位误差is高)and(误差变化is偏小)then(阀门开关速度is慢关)
5) if(水位误差is高)and(误差变化is小)then(阀门开关速度is慢关)
6) if(水位误差is偏高)and(误差变化is大)then(阀门开关速度is快关)
7) if(水位误差is偏高)and(误差变化is偏大)then(阀门开关速度is快关)
8) if(水位误差is偏高)and(误差变化is合适)then(阀门开关速度is慢关)
9) if(水位误差is偏高)and(误差变化is偏小)then(阀门开
关速度is慢关)
10) if(水位误差is偏高)and(误差变化is小)then(阀门开关速度is慢关)
11) if(水位误差is合适) then(阀门开关速度is不动)
12) if(水位误差is偏低)and(误差变化is大)then(阀门开关速度is快开)
13) if(水位误差is偏低)and(误差变化is偏大)then(阀门开关速度is快开)
14) if(水位误差is偏低)and(误差变化is合适)then(阀门开关速度is慢开)
15) if(水位误差is偏低)and(误差变化is偏小)then(阀门开关速度is慢
16) if(水位误差is偏低)and(误差变化is小)then(阀开)门开关速度is慢开)
17) if(水位误差is低))then(阀门开关速度is快开)
这17条规则的权重都为1.
图定义、修改模糊规则
通过曲面观察器可以清晰的看见水箱液位模糊推理的输入输
出关系。

图 Surface Viewer
通过规则观察器可以清晰的查看对具体输入的模糊推理及输出情况。

其输入输出关系如下表:
图 Rule Viewer
表 调试结果
水 位
误 差 阀




度 误



小结
随着科学技术的发展,智能控制技术必会日趋完善,并且能够在多领域应用。

此设计是基于MATLAB的模糊控制系统,通过调试及仿真,可以初步得出水箱水位控制的关系原理,从而为在实际应用中提供一个参考,但在实际应用中还应考虑实际的影响因素,例如环境对控制系统的影响、人为因素对控制系统的影响等。

面对实际问题时应具体问题具体分析。

有不足的地方再加以改进。

参考文献:
1、马明远.人工智能与专家系统导论.北京:清华大学出版社,2006
2、韩力群.智能控制理论及应用.北京:机械工业出版社,2008
3、王耀南,孙炜.智能控制理论及应用.北京:机械工业出版社,2008
4、韩俊峰,李玉惠等.模糊控制技术.重庆:重庆大学出版社,2003
5、李祖枢,涂亚庆.仿人智能控制.北京:国防工业出版社,2003
6、李友善,李军. 模糊控制理论及其在过程控制中的应用[M]. 北京:国防工业出版社, 1993.
7、张化光.复杂系统的模糊辨识与模糊自适应控制.沈阳: 东北大学出版社,1994.
8、窦振中. 模糊逻辑控制技术及其应用[M]. 北京: 北京航空航天大学出版社,1995.
9、权太范等. 模糊控制技术在过程控制中的应用现状及前景.控制与决策,1988,3(1):59-62.
10、汪培庄.模糊集合及应用.上海: 上海科学技术出版社,1983.。

相关文档
最新文档