《MATLAB模糊逻辑.docx》由会员分享,可在线阅读,更多相关《MATLAB模糊逻辑.docx(27页珍藏版)》请在优知文库上搜索。
1、第6章模糊逻辑6.1 隶属函数6.1.1 高斯隶属函数函数gaussmf格式y=gaussmf(x,sigcj)(X-C)2说明高斯隶属函数的数学表达式为:f(x;a,c)=eF,其中,c为参数,X为自变量,Sig为数学表达式中的参数.例6-1x=0:0.1:10;y=gaussmf(x,25);plot(x,y)xlabel(gaussmf,P=25)结果为图6-1。图6-16.1.2 两边型高斯隶属函数函数gauss2mf格式y=gauss2mf(x,siglclsig2c2)说明SigKckSig2、c2为命令1中数学表达式中的两对参数例6-2 x=(0:0.1:10);yl=gauss
2、2mf(x,|2418); y2=gauss2mf(x,2517); y3=gauss2mf(x,2616);y4=gauss2mf(x,|2715);y5=gauss2mf(x,2814);plot(x,yly2y3y4y5);set(gcf.name,gauss2mf.,numbertitle,.off);结果为图6-2。6.1.3 建立一般钟型隶属函数函数gbcllmf格式y=gbellmf(x,params)说明一般钟型隶属函数依靠函数表达式f(x;a,b,c)=!l+2b这里X指定变量定义域范围,参数b通常为正,参数C位于曲线中心,第二个参数变量ParamS是一个各项分别为a,b和C
3、的向量。例6-3x=0:0.1:10;y=gbellmf(x,246);plot(x,y)xlabel(,gbellmt;P=246)结果为图6-3。图6-26.1.4 两个sigmoid型隶属函数之差组成的隶属函数函数dsigmf格式y=dsigmf(x,alcla2c2)说明这里sigmoid型隶属函数由下式给出f(x;a,c)=-匕=1+e,X是变量,a,c是参数。dsigmf使用四个参数a,c,a2,C2,并且是两个Sigmoid型函数之差:f|(x;ahci)-f2(x;a2,c2),参数按顺序ca?c?歹U出。例6-4x=0:0.1:10;y=dsigmf(x,5257);plot
4、(x,y)结果为图6-4图6-46.1.5 通用隶属函数计算函数evalmf格式y=evalmf(x,mfParams,m11ype)说明evalmf可以计算任意隶属函数,这里X是变量定义域,mfTypc是工具箱提供的,种隶属函数,mIParams是此隶属函数的相应参数,如果你想创建自定义的隶属函数,evalmf仍可以工作,因为它可以计算它不知道名字的任意隶属函数。例6-5x=0:0.1:10;mfpa11ms=246J;mftype=gbellmf;y=evalmf(x,mfparams,mfiype);plot(x,y)xlabel(,gbellmf,P=246)结果为图6-5。图6-56
5、.1.6 建立n型隶属函数函数primf格式y=pimf(x,abCd)说明向量X指定函数自变量的定义域,该函数在向量X的指定点处进行计算,参数a,b,c,d决定了函数的形状,a和d分别对应曲线下部的左右两个拐点,b和C分别对应曲线上部的左右两个拐点。例6-6x=0:0.1:10;y=pimf(x,(14510);plot(x,y)xlabel(,pimf,P=l4510)结果为图6-6。6.1.7 通过两个SigmOid型隶属函数的乘积构造隶属函数函数psigmf格式y=psigmf(x,alCla2c2)说明这里sigmoid型隶属函数由下式给出f(x;a,c)=-1.1+e,X是变量,a
6、,c是参数。PSigmf使用四个参数a,c,a2,C2,并且是两个Sigmoid型函数之积:f|(x;ai,Ci)*f2(x;a2,C2)参数按顺序aCla2c2列出。例6-7x=0:0.1:10;y=psigmf(x,23-58);plot(x,y)xlabel(,psigmf,P=23-58)结果为图6-7。图6-6图6-76.1.8建立Sigmoid型隶属函数函数sigmf格式y=sigmf(x,ac)说明f(x;a,c)=-Z-T-T-,定义域由向量X给出,形状由参数a和C确定。1+e1;例6-8x=0:0.1:10;y=sigmf(x,24);plot(x,y)xlabel(,sig
7、mf,P=24)结果为图6-8o图6-8例6-9x=(0:0.2:10)*; y=sigmf(x4-l5); y2=sigmf(x,-35);y?=sigmf(x,45); y4=sigmf(xJ85); subplot(2,1,1),plot(x,yiYly3y4); y=sigmf(x,52); y2=Sigmf(X,54);ys=sigmf(x,56); y4=sigmf(x,58); subplot(2,1,2),plot(x,y1y2y3y4);结果为图6-9。图6-9 .1.9建立S型隶属函数函数smf格式y=smf(x,abj)%x为变量,a为b参数,用于定位曲线的斜坡部分。例6
8、-10x=0:0.1:10;y=smf(x,18);plot(x,y)结果为图6-10。*mt.P1)图6-10例6J1x=0:0.1:10;subplot(3,1,1);plot(x,smf(x,|28);subplot(3,1,2);plot(x,smf(x,46);subplot(3,1,3)lot(x.smf(x,64);结果为图6-11。图6-II .1.10建立梯形隶属函数函数trapmf格式y=trapmf(x,abcd)0,说明这里梯形隶属函数表达式:X-ab-af(x;a,b,c,d)=I,xaaxcxy=trapmf(xj1578);plot(x,y)xlabel(trap
9、mf,P=(l578,)结果为图6-12。例6-13x=(0:0.1:10); y=trapnf(x,2379); y=irapmf(x,3468);y?=trapmf(x,4557);y4=trapmf(x,5646); plot(x,yy2yaju);结果为图6-13。图&136.1.11建立三角形隶属函数函数trimf说明格式y=trimf(x,params)y=trimf(x,abc)0,X-ab-a,f(x;a,b,c,)=C-Xc-b,0三角形隶属函数表达式:XaaXy=trimf(x,(368);plot(x,y)xlabel(,trimf.P=368)结果为图6-14。图6-1
10、4例6-15x=(0:0.2:10/; y=trimf(x,345); y2=trimf(x,247); yj=trimf(x,l49); subploi(2,1.1),ploi(x,yyzy?); y=trimf(x,235); y=trimf(x,347);y?=trimf(x,459); subplot(2,l,2),plot(x,yyzy3);结果为图6-15。图6456.1.12 建立Z型隶属函数函数Zmf格式y=zmf(x,ab)%x为自变量,a和b为参数,确定曲线的形状。例6-16x=0:0.1:10;y=zmf(x,37);plot(x,y)xlabel(,zmf,P=37)结
11、果为图6-16,例6-17 x=0:0.1:10; subplot(3,l,1);PIot(X,zmf(x,28); subplot(3,1,2)plot(x,zmf(x,46); subplot(3,1,3);PIOt(X,zmf(x,64);结果为图6-17。I.P(37|图6-16j一图6-17图6-186.1.13 两个隶属函数之间转换参数函数mf2mf格式OutParams=mf2mf(inParams,inType,OutType)说明此函数根据参数集,将任意内建的隶属函数类型转换为另一种类型,inParams为你要转换的隶属函数的参数,inType为你要转换的隶属函数的类型的字符
12、串名称,OUtTyPe:你要转换成的目标隶属函数的字符串名称。例6例x=0:0.1:5;mfpl=I23;mfp2=mf2mf(mfp1,gbellmf,trinf);plot(x,gbellmf(x,mfpl),x,(rimf(x,mfp2)结果为图6-18。6.1.14 基本FIS编辑器函数fuzzy格式fuzzy%弹出未定义的基本FIS编辑器fuzzy(fismal)%使用fuzzy(tipper),弹出下图FlS编辑器。编辑器是任意模糊推理系统的高层显示,它允许你调用各种其它的编辑器来对其操作。此界面允许你方便地访问所有其它的编辑器,并以最灵活的方式与模糊系统进行交互。方框图:窗口上方的方框图显示了输入、输出和它们中间的模糊规则处理器。单击任意一个变量框,使选