资源描述:
《智能控制--模糊控制实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验一模糊控制一、实验要求对于所设计的炉温控制系统,要求温度保持在300°C恒定,针对该控制系统有以下控制经验:1.若炉温低于300°C,则升压;低得越多升压越高;2.若炉温高于300°C,则降压;高得越多降压越低;3.若炉温等于300°C,则保持电压不变。(1)设模糊控制器为一维控制器,输入输出变量的量化等级为7级,取5个模糊集。(2)设模糊控制器为一维控制器,输入输出变量的量化等级为7级,取7个模糊集。二、实验报告要求1.根据模糊控制规则表编写脚本程序。2.绘出模糊控制系统的输出响应曲线,并分析设定温度改变时模糊控制的适应性。三、程序设计:%FuzzyControlfortemper
2、aturecontrolclearall;closeall;T=0;%ʱ¼ä³£Êýa=newfis('fuzz_temperatrue');a=addvar(a,'input','e',[-3,3]);%Parameterea=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,'in
3、put',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]);%Parameterua=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,
4、'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=[1111;%Editrulebase2211;3311;4411;5511;6611;7711];a=addrule(a,rulelist);a1=setfis(a,'DefuzzMethod','mom');%Defuzzywritef
5、is(a1,'temperatrue');%Savetofuzzyfile"tank.fis"a2=readfis('temperatrue');figure(1);plotfis(a2);figure(2);plotmf(a,'input',1);figure(3);plotmf(a,'output',1);flag=1;ifflag==1showrule(a)%Showfuzzyrulebaseruleview('temperatrue');%DynamicSimulationenddisp('---------------------------------------------
6、----------');disp('fuzzycontrollertable:e=[-3,+3],u=[-4,+4]');disp('-------------------------------------------------------');fori=1:1:7e(i)=i-4;Ulist(i)=evalfis([e(i)],a2);endUlist=round(Ulist)e=-3;%Erroru=evalfis([e],a2)%Usingfuzzyinference四、Simulink仿真模型五、实验结果令T=0;1、模糊控制器为一维控制器,输入输出变量的量化等级为7级,取
7、5个模糊集。最终结果2、模糊控制器为一维控制器,输入输出变量的量化等级为7级,取7个模糊集。最终结果3、设定温度改变时模糊控制的适应性当设定温度从300℃降至200℃时,仿真结果如图:从仿真结果可知:设定温度改变时模糊控制的适应性差。