资源描述:
《模糊控制---炉温控制系统实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验二一、实验目的1.通过实验熟悉并掌握GUI(GraphUserInterface)的工具箱函数的使用方法2.通过实验熟悉并掌握模糊控制器的设计方法与步骤3.通过实验熟悉并掌握利用GUI建立FIS的方法与步骤2.通过实验进一步熟悉并掌握Matlab软件的使用方法二、实验内容1.根据给定要求,设计炉温控制系统的模糊控制器2.编制炉温模糊控制系统的Matlab仿真程序3.利用GUI建立FIS三、实验步骤1.设计炉温控制系统的模糊控制器①确定模糊控制器的结构②定义输入、输出模糊集③定义输入输出隶属函数④建立模糊控制规则⑤建立模糊
2、控制表⑥进行模糊推理,求出模糊关系作出模糊决策⑦对控制量进行反模糊化2.按上述步骤,设计炉温模糊控制系统的Matlab仿真程序3.针对本例,进一步利用GUI建立FIS①进入FIS编辑器②建立初步的模糊推理系统③建立各变量的隶属函数④设置当前变量的变化范围和其在隶属函数上的显示范围⑤打开模糊规则编辑器加入模糊控制规则⑥打开模糊规则观察器,观察模糊规则⑦打开输出曲面观察器,观察模糊推理系统的输出曲面⑧分析实验结果,完成实验报告。四、实验要求对于所设计的炉温控制系统,要求温度保持在600°C恒定,针对该控制系统有以下控制经验:1.
3、若炉温低于600°C,则升压;低得越多升压越高.2.若炉温高于600°C,则降压;高得越多降压越低.3.若炉温等于600°C,则保持电压不变.(1)设模糊控制器为一维控制器,输入输出变量的量化等级为7级,取5个模糊集。(2)设模糊控制器为一维控制器,输入输出变量的量化等级为7级,取7个模糊集。五、实验内容六、实验程序%FuzzyControlfortemperatureclearall;closeall;a=newfis(‘fuzzytemperature’);a=addvar(a,’input’,’e’,[-33]);a=
4、addmf(a,’input’,’1’,’NB’,’zmf’,[-3-1]);a=addmf(a,’input’,’1’,’NM’,’trimf’,[-3-11]);a=addmf(a,’input’,’1’,’NS’,’trimf’,[-202]);a=addmf(a,’input’,’1’,’Z,’trimf’,[-211]);a=addmf(a,’input’,’1’,’PS,’trimf’,[-121]);a=addmf(a,’input’,’1’,’PM’trimf’,[123]);a=addmf(a,’input
5、’,’1’,’PM’smf’,[13]);a=addvar(a,’output’,’u’,[-33]);a=addmf(a,’output’,‘1’,’NB’,’zmf’,[-3-1]);a=addmf(a,’output’,‘1’,’NS’,’trimf’,[-311]);a=addmf(a,’output’,‘1’,’Z’,’trimf’,[-202]);a=addmf(a,’output’,‘1’,’PS’,’trimf’,[-112]);a=addmf(a,’output’,‘1’,’PB’,’smf’,[13]);
6、rulelist=[1111221132114311551165117511];a=addrule(a,rulelist);a1=setfis(a,’DeduzzMothod’,’mom’);writefis(a1,’temperature’);a2=readfis(’temperature’);figure(1);plotfis(a2);figure(2);plotmf(a,’input’,1);figure(3);plotmf(a,’output’,1);flag=0showrule(a);ruleview(‘tempe
7、rature’);enddisp(‘-----------------------------------------------------------‘);disp(‘fuzzycontrollertable:e=[-3,3],u=[-3,3]’);disp(‘------------------------------------------------------------‘);fori=1:1:7e(i)=i-4;Ulist(i)=evafis([e(i)],a2);endUlist=round(Ulist);e
8、=-3;u=eavlfis([e],a2)