《模糊控制-隶属度函数.docx》由会员分享,可在线阅读,更多相关《模糊控制-隶属度函数.docx(17页珍藏版)》请在优知文库上搜索。
1、第6章模糊逻辑【转】2009-04-1621:48高斯隶属函数函数gaussmf格式y=gaussmf(x,sigc)说明高斯隶属函数的数学表达式为:,其中为参数,X为自变量,sig为数学表达式中的参数。例6-1x=0:0,1:10;y=gaussmf(x,25);plot(x,y)xlabel(,gaussmf,P=25)结果为图6-1。图6-1函数gauss2mf格式y=gauss2mf(x,siglclsig2c2)说明SigUcUSig2、c2为命令1中数学表达式中的两对参数例6-2x=(0:0,1:10)yl二gauss2mf(x,2418);y2=gauss2mf(x,2517);
2、y3=gauss2mf(x,2616);y4=gauss2mf(x,2715);y5=gauss2mf(x,2814);plot(x,yly2y3y4y5);set(gcf,name,gauss2mf,numbertitle,off,);结果为图6-2。函数gbellmf格式Y=gbellmf(x,params)说明一般钟型隶属函数依靠函数表达式这里X指定变量定义域范围,参数b通常为正,参数c位于曲线中心,第二个参数变量params是一个各项分别为a,b和C的向量。例6-3x=0:0.1:10;y=gbellmf(x,246);plot(x,y)xlabel(,gbellmf,P=246)结果
3、为图6-3O图6-26-3两个sigmoid型隶属函数之差组成的隶属函数函数dsigmf格式y=dsigmf(x,alcla2c2)说明这里SigInoid型隶属函数由下式给出X是变量,a,c是参数。dsigmf使用四个参数a”C,a2,c2,并且是两个SigmOid型函数之差:,参数按顺序列出。例6-4x=0:0.1:10;y=dsigmf(x,5257);plot(x,y)结果为图6-4图6-4通用隶属函数计算函数evalmf格式y=evalmf(x,mfParams,mfType)说明evalmf可以计算任意隶属函数,这里X是变量定义域,InfTyPe是工具箱提供的-种隶属函数,HifP
4、arams是此隶属函数的相应参数,如果你想创立自定义的隶属函数,evalmf仍可以工作,因为它可以计算它不知道名字的任意隶属函数。例6-5x=0:0.1:10;mfparams=246;mftype=,gbellmf,;y=evalmf(x,mfparams,mftype);plot(x,y)xlabel(,gbellmf,P=246)结果为图6-5ogewMrtoo*sQmm*e*口Ii1111-T1!109-/-I08-:-JI8-I1i-/Ofi-ii/05-III/04-I1,-0.3-I|(-/02-.:/01-!-Ijl1j-IllllllvP46Jqj力y=pimf(x,1451
5、0);plot(x,y)xlabel(,pimf,P=14510)结果为图6-6O通过两个sigmoid型隶属函数的乘积构造隶属函数函数psigmf格式y=psigmf(x,alcla2c2)说明这里Siglnoid型隶属函数由下式给出并且是两个sigmoid型函数X是变量,a,c是参数。PSiglnf使用四个参数a】,ctfa2,c2之积:,参数按顺序列出。例6-7x=0:0.1:10;y=psigmf(x,23-58);plot(x,y)xlabel(,psigmf,P=23-58)结果为图6-7。图6-6图6-7建立Sigmoid型隶属函数函数sigmf格式y=sigmf(x,ac)说明
6、,定义域由向量X给出,形状由参数a和C确定。例6-8x=0:0.1:10;y=sigmf(x,24);plot(x,y)xlabel(,sigmf,P=24)图6-8例6-9x二(0:0.2:10),; y=sigmf(x,-15); y2=sigmf(x,-35); y3=sigmf(x,45); y4=sigmf(x,85); subplot(2,1,1),plot(x,y,y2y3y4);y)=sigmf(x,52); y2=sigmf(x,54); y3=sigmf(x,56);y=sigmf(x,58);subplot(2,1,2),plot(x,y1y2y3yj);图6-9建立S型
7、隶属函数函数smf格式 y 二 smf (x, a b)%X为变量,a为b参数,用于定位曲线的斜坡局部。例6-10x=0:0.1:10;y=smf(x,18);plot(x,y)结果为图6-10。图6-10例6-11x=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);plot(x,smf(x,64);ZjSwLaaaI*3图6-11建立梯形隶属函数函数trapmf格式y=trapmf(x,abed)说明这里梯形隶属函数表达式:或f(x;a,b,c,d)=max(min
8、(,定义域由向量X确定,曲线形状由参数a,b,c,d确定,参数a和d对应梯形下部的左右两个拐点,参数b和C对应梯形上部的左右两个拐点。例6-12x=0:0.1:10;y-trapmf(x,1578);plot(x,y)xlabel(,trapmf,P=1578)结果为图6-12。例6-13x二(0:0.1:10),;yi=trapmf(x,2379); y2=trapmf(x,3468); y3=trapmf(x,4557); y4=trapmf(x,5646); plot(x,yiy2y3y);图6-12图6-13建立三角形隶属函数函数trimf格式y=trimf(x,params)y二tr
9、imf(x,abc)说明三角形隶属函数表达式:或者f(x;a,b,c,)=max(min(定义域由向量X确定,曲线形状由参数a,b,c确定,参数a和C对应三角形下部的左右两个顶点,参数b对应三角形上部的顶点,这里要求a,生成的隶属函数总有一个统一的高度,假设想有一个高度小于统一高度的三角形隶属函数,那么使用trapmf函数。例6-14x=0:0,1:10;y=trimf(x,368);plot(x,y)xlabel(,trimf,P=368)结果为图6-14o图6-14例6-15x=(0:0.2:10),;yi=trimf(x,345); y2=trimf(x,247); y3=trimf(x
10、,149); subplot1,1),plot(x,y1y2y3); yj-trimf(x,235); y2=trimf(x,347); y3=trimf(x,459); subplot(2,1,2),plot(x,yly2y3);结果为图6-15o图6-15建立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)例6-17x=0:0.1:10;subplot(3,1,1);plot(x,zmf(x,28);subplot(3,1,2);plot(
11、x,zmf(x,46);subplot(3,1,3);plot(x,zmf(x,64);结果为图6-17。图6-16两个隶属函数之间转换参数函数mf2mf格式OutParams-mf2mf(inParams,inType,outType)三6-18说明此函数根据参数集,将任意内建的隶属函数类型转换为另一种类型,inParams为你要转换的隶属函数的参数,inType为你要转换的隶属函数的类型的字符串名称,outType:你要转换成的目标隶属函数的字符串名称。例6-18x=0:0.1:5; mfpl=123; mfp2=mf2mf(mfpl,gbellmf,trimf,); plot(x,gbellmf(x,mfpl),x,trimf(x,mfp2)结果为图6-18。