欢迎来到天天文库
浏览记录
ID:38804472
大小:249.00 KB
页数:5页
时间:2019-06-19
《智能控制及MATLAB实现—水箱液位模糊控制仿真设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、水箱水位模糊控制系统设计一.在MATLAB命令窗口中输入sltank,便可打开如图所示的模型窗口。图1sltank仿真图(1)打开MATLAB,输入指令fuzzy,打开模糊逻辑工具箱的图形用户界面窗口,新建一个Mamdani模糊推理系统。(2)增加一个输入变量,将输入变量命名为水位误差、误差变化,将输出变量命名为阀门开关速度。这样就建立了一个两输入单输出的模糊推理系统,保存为shuiwei1。图2增加一个输入变量(3)设计模糊化模块;设水位误差level的论域为[2.953.05],误差变化率rate的论域为[-0.20.2];
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误
3、差变化率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的参数设定(1)设计模糊规则打开RuelEditor窗口,通过选择添加模糊规则;1)If(levelisNB)and(rateis负大
4、)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
5、(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(
6、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(valv
7、eis不动)(1)1)If(levelisZE)and(rateis正小)then(valveis慢开)(1)2)If(levelisZE)and(rateis正大)then(valveis中开)(1)3)If(levelisPS)and(rateis负大)then(valveis慢关)(1)4)If(levelisPS)and(rateis负小)then(valveis不动)(1)5)If(levelisPS)and(rateis不变)then(valveis中开)(1)6)If(levelisPS)and(rateis正小)
8、then(valveis中开)(1)7)If(levelisPS)and(rateis正大)then(valveis中开)(1)8)If(levelisPM)and(rateis负大)then(valveis不动)(1)9)If(levelisPM)and(ra
此文档下载收益归作者所有