资源描述:
《模糊控制大作业》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、作业一:模糊控制作业(40分):以双输入一单输出系统为例,1、W出模糊控制程序流程图;2、计算出模糊控制器的查询表,写出必要的计算步骤。假设控制器输入为误差e和误差变化率ec,输出为控制呈U,其基本论域分别为[erain,e„J,[ecnin,ec,J,[u3in,Umax],对应的语言变量E、EC和U的论域为{-6,-5,…,-1,0,1,…,5,6},E、EC和U都选7个语言值{NB,NM,NS,Z,PS,PM,PB},各语言值的隶属函数采川三角函数,其分布可川表1表示,控制规则如表2所示。注意:u的去模糊化要采用与你的学号ID的奇偶性对应的方法,
2、设ID=奇数者用最大隶属度法,ID=偶数者用重心法。表1语言变量E、EC和U的赋值表-6-5-4-3-2-10123456NB10.500000000000NM00.510.5000000000NS0000.510.50000000Z000000.510.500000PS00000000.510.5000PM0000000000.510.50PB000000000000.51表2模糊控制规则表UECNBNMNSZPSPMPBENBNBNBNBNBNMZZNMNBNBNBNBNMZZNSNMNMNMNMZPSPSZNMNMNSZPSPMPMPSNSNSZ
3、PMPMPMPMPMZZPMPBPBPBPBPBzzPMPBPBPBPB10月24-27日交纸质版到新主楼A405一、控制算法流程图(1)模糊控制算法一般双输入一单输山模糊控制器的控制规则可写成条件语句:if£=A.andAE=B.thenU=C;j.,i=l,2,•••,/?;7=1,2,•••,/?;式子中,''B)'为定义在误差、误差变化率和控制量论域X、Y、Z上的模糊集合。上述条件可以用一个模糊关系#描述,即々=U(為x^7)xC.j9•i本J#的隶属度函数为i=n,j=m〜〜〜〜欧x,y,z)=vaB.(7)八6.(z),eJ,7eK,ze
4、Z2=1,7=17J1J当误差及误差变化分别取模糊集i6时,控制器输出的变化根据模糊推理合成规则可得U=(AxB/2oRu的隶属度函数为U(z)=vA(x)aB(y)aR(x,y,z)xeXyeY(2)模糊算法选择模糊推理用Mamdani推理方法,输山信息的模糊判别用重心法。模糊控制查询表的实现,先根据模糊条件推理得出模糊条件所决定的模糊关系,模糊推理关系为:…LMXG。将所有的模糊关系'利用“或”放入关系组合在一起,即n=Cm~;,R整个系统的控制规则的模糊关系。再对误差和误差变化率论域内的每个变量,查出其属于的隶属度最大的模糊集A、B,根据新的模糊
5、集^1、B,求fli控制器的输出变化量即0=(AxB)T2eg。最后根据重心法去模糊化,求得模糊判决结果。流程图如图1.1所示。阁1.1模糊控制查询表流程阁二、模糊控制查询表U-6-5-4-3-2-1EC0123456-6-6-6-6-6-6-6-5-5-3-3-2-20-5-6-6-6-6-6-6-5-5-3-3-2-20-4-5-5-5-5-5-5-3-3-2-2-1-11-3-5-5-5-5-5-5-3-3-2-2-1-11-2-4-4-4-4-3-3-2-200002E-1-3-3-2-20000002230-2-2000022334441-2
6、•2000022334442-2-2-2-20044444443-2-2-2-20044444444-1-1112233555555-1-11122335555560022335566666三、程序NB=-3;NM=-2;NS=-l;Z=0;PS=l;PM=2;PB=3;divideNum=7;E=ri().500000000000;%误差赋值表00.510.5000000000;0000.510.50000000;000000.510.500000;00000000.510.5000;0000000000.510.50;000000000000.51
7、];EC=E;%误差变化率赋伉表U=E;%输出量赋值表Rule=lNBNBNBNBNMZZ;%模糊控制规贝lj表NBNBNBNBNMZZ;NMNMNMNMZPSPS;NMNMNSZPSPMFM;NSNSZPMPMPMPM;ZZPMPBPBPBPB;ZZPMPBPBPBPB];%Rij=((Ai*Bj)八丁1)*1^,尺=并1^(4<=13)R=zeros(length(E)*length(EC),length(U));%模糊关系forp=l:divideNumforq=l:divideNumdm=directMultiply(E(p,:),EC(q,:
8、));tl=Tl(dm);Upq=U(Rule(p,q)-NB+1Rpq=directMult