资源描述:
《MATLAB数学手册教程_第6章_模糊逻辑.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第6章模糊逻辑第6章模糊逻辑6.1隶属函数6.1.1高斯隶属函数函数gaussmf格式y=gaussmf(x,[sigc])2(x-c)-2说明高斯隶属函数的数学表达式为:f(x;s,c)=e2s,其中s,c为参数,x为自变量,sig为数学表达式中的参数s。例6-1>>x=0:0.1:10;>>y=gaussmf(x,[25]);>>plot(x,y)>>xlabel('gaussmf,P=[25]')结果为图6-1。10.80.60.40.200246810gaussmf,P=[25]图6-16.1.2两边型高斯
2、隶属函数函数gauss2mf格式y=gauss2mf(x,[sig1c1sig2c2])说明sig1、c1、sig2、c2为命令1中数学表达式中的两对参数例6-2>>x=(0:0.1:10)';>>y1=gauss2mf(x,[2418]);>>y2=gauss2mf(x,[2517]);>>y3=gauss2mf(x,[2616]);>>y4=gauss2mf(x,[2715]);201MATLAB6.0数学手册>>y5=gauss2mf(x,[2814]);>>plot(x,[y1y2y3y4y5]);>>se
3、t(gcf,'name','gauss2mf','numbertitle','off');结果为图6-2。6.1.3建立一般钟型隶属函数函数gbellmf格式y=gbellmf(x,params)1说明一般钟型隶属函数依靠函数表达式f(x;a,b,c)=1+
4、x-c
5、2ba这里x指定变量定义域范围,参数b通常为正,参数c位于曲线中心,第二个参数变量params是一个各项分别为a,b和c的向量。例6-3>>x=0:0.1:10;>>y=gbellmf(x,[246]);>>plot(x,y)>>xlabel('gbe
6、llmf,P=[246]')结果为图6-3。110.80.80.60.60.40.40.20.20024681000246810gbelmf,P=[246]图6-2图6-36.1.4两个sigmoid型隶属函数之差组成的隶属函数函数dsigmf格式y=dsigmf(x,[a1c1a2c2])1说明这里sigmoid型隶属函数由下式给出f(x;a,c)=-a(x-c)1+ex是变量,a,c是参数。dsigmf使用四个参数a1,c1,a2,c2,并且是两个sigmoid型函数之差:f1(x;a1,c1)-f2(x;a2
7、,c2),参数按顺序[a1c1a2c2]列出。例6-4>>x=0:0.1:10;>>y=dsigmf(x,[5257]);>>plot(x,y)202第6章模糊逻辑结果为图6-410.80.60.40.200246810图6-46.1.5通用隶属函数计算函数evalmf格式y=evalmf(x,mfParams,mfType)说明evalmf可以计算任意隶属函数,这里x是变量定义域,mfType是工具箱提供的一种隶属函数,mfParams是此隶属函数的相应参数,如果你想创建自定义的隶属函数,evalmf仍可以工作,
8、因为它可以计算它不知道名字的任意隶属函数。例6-5>>x=0:0.1:10;>>mfparams=[246];>>mftype='gbellmf';>>y=evalmf(x,mfparams,mftype);>>plot(x,y)>>xlabel('gbellmf,P=[246]')结果为图6-5。10.80.60.40.200246810gbelmf,P=[246]图6-56.1.6建立П型隶属函数函数primf格式y=pimf(x,[abcd])说明向量x指定函数自变量的定义域,该函数在向量x的指定点处进行计算
9、,参数[a,b,c,d]决定了函数的形状,a和d分别对应曲线下部的左右两个拐点,b和c分别对应曲线203MATLAB6.0数学手册上部的左右两个拐点。例6-6>>x=0:0.1:10;>>y=pimf(x,[14510]);>>plot(x,y)>>xlabel('pimf,P=[14510]')结果为图6-6。6.1.7通过两个sigmoid型隶属函数的乘积构造隶属函数函数psigmf格式y=psigmf(x,[a1c1a2c2])1说明这里sigmoid型隶属函数由下式给出f(x;a,c)=-a(x-c)1+e
10、x是变量,a,c是参数。psigmf使用四个参数a1,c1,a2,c2,并且是两个sigmoid型函数之积:f1(x;a1,c1)*f2(x;a2,c2),参数按顺序[a1c1a2c2]列出。例6-7>>x=0:0.1:10;>>y=psigmf(x,[23-58]);>>plot(x,y)>>xlabel('psigmf,P=[23-58]')结果为图6-