水箱水位模糊控制系统设计一.在MATLAB命令窗口中输入sltank,便可打开如图所示的模型窗口。图1sltank仿真图(1)打开MATLAB,输入指令fuzzy,打开模糊逻辑工具箱的图形用户界面窗口,新建一个Mamdani模糊推理系统。(2)增加一个输入变量,将输入变量命名为水位误差、误差变化,将输出变量命名为阀门开关速度。这样就建立了一个两输入单输出的模糊推理系统,保存为shuiwei1。图2增加一个输入变量(3)设计模糊化模块;设水位误差level的论域为[2.953.05],误差变化率rate的论域为[-0.20.2];两个输入量的模糊集为level设为为7个,rate设为5个:其中水位误差level定为NB、NM、NS、ZE、PS、PM、PB;参数分别为[0.012.95]、[0.012.97],[0.012.99]、[0.013]、[0.013.01]、[0.013.03]、[0.013.05],隶属度均为高斯函数;图3输入量level的参数设定误差变化率rate分别为负大,负小,不变,正小,正大。参数分别为,[0.03-0.2]、[0.03-0.1]、[0.030]、[0.030.1]、[0.03-0.2],隶属度函数均为高斯函数。图4误差变化率rate的参数设定阀门的开关速度设为七个等级:快关,中关,慢关,不动,慢开,中开,快开,其论域为[2.953.05]。参数分别为;[2.942.952.96]、[2.9652.972.975]、[2.992.992.995]、[2.99933.001]、[3.0053.013.015]、[3.023.033.035]、[3.043.053.06],隶属函数为三角形函数。图5输出量valve的参数设定(4)设计模糊规则打开RuelEditor窗口,通过选择添加模糊规则;1)If(levelisNB)and(rateis负大)then(valveis快关)(1)2)If(levelisNB)and(rateis负小)then(valveis快关)(1)3)If(levelisNB)and(rateis不变)then(valveis快关)(1)4)If(levelisNB)and(rateis正小)then(valveis中关)(1)5)If(levelisNB)and(rateis正大)then(valveis不动)(1)6)If(levelisNM)and(rateis负大)then(valveis快关)(1)7)If(levelisNM)and(rateis负小)then(valveis快关)(1)8)If(levelisNM)and(rateis不变)then(valveis快关)(1)9)If(levelisNM)and(rateis正小)then(valveis中关)(1)10)If(levelisNM)and(rateis正大)then(valveis不动)(1)11)If(levelisNS)and(rateis负大)then(valveis中关)(1)12)If(levelisNS)and(rateis负小)then(valveis中关)(1)13)If(levelisNS)and(rateis不变)then(valveis中关)(1)14)If(levelisNS)and(rateis正小)then(valveis不动)(1)15)If(levelisNS)and(rateis正大)then(valveis慢开)(1)16)If(levelisZE)and(rateis负大)then(valveis中关)(1)17)If(levelisZE)and(rateis负小)then(valveis慢关)(1)18)If(levelisZE)and(rateis不变)then(valveis不动)(1)19)If(levelisZE)and(rateis正小)then(valveis慢开)(1)20)If(levelisZE)and(rateis正大)then(valveis中开)(1)21)If(levelisPS)and(rateis负大)then(valveis慢关)(1)22)If(levelisPS)and(rateis负小)then(valveis不动)(1)23)If(levelisPS)and(rateis不变)then(valveis中开)(1)24)If(levelisPS)and(rateis正小)then(valveis中开)(1)25)If(levelisPS)and(rateis正大)then(valveis中开)(1)26)If(levelisPM)and(rateis负大)then(valveis不动)(1)27)If(levelisPM)and(rateis负小)then(valveis中开)(1)28)If(levelisPM)and(rateis不变)then(valveis快开)(1)29)If(levelisPM)and(rateis正小)then(valveis快开)(1)30)If(levelisPM)and(rateis正大)then(valveis快开)(1)31)If(levelisPB)and(rateis负大)then(valveis不动)(1)32)If(levelisPB)and(rateis负小)then(valveis中开)(1)33)If(levelisPB)and(rateis不变)then(valveis快开)(1)34)If(levelisPB)and(rateis正小)then(valveis快开)(1)35)If(levelisPB)and(rateis正大)then(valveis快开)(1)这35条模糊控制规则的权重都为1.图6模糊控制规则的设定(5)利用编辑器的File/SavetoWorkspace,将当前的模糊推理系统,以shuiwei1保存到工作空间中。(6)在如图1所示的Simulink仿真系统中,打开FuzzyLogicController模糊逻辑控制器模块对话框,在其FISFileorStructure参数对话框中输入:shuiwei1。(7)在如图1所示的Simulink系统中,打开仿真参数设置窗口,正确设置仿真参数后,启动仿真便可看到水位变化曲线。图7水位变化曲线通过曲面观察器也可以清晰的看见水箱液位模糊推理的输入输出关系。图8SurfaceViewer总结:随着科学技术的发展,智能控制技术必会日趋完善,并且能够在多领域应用。