第1页共24页第6章模糊逻辑6.1隶属函数6.1.1高斯隶属函数函数gaussmf格式y=gaussmf(x,[sigc])说明高斯隶属函数的数学表达式为:222)cx(e)c,;x(f,其中c,为参数,x为自变量,sig为数学表达式中的参数。例6-1>>x=0:0.1:10;>>y=gaussmf(x,[25]);>>plot(x,y)>>xlabel('gaussmf,P=[25]')结果为图6-1。024681000.20.40.60.81gaussmf,P=[25]图6-16.1.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]);>>y5=gauss2mf(x,[2814]);>>plot(x,[y1y2y3y4y5]);>>set(gcf,'name','gauss2mf','numbertitle','off');结果为图6-2。6.1.3建立一般钟型隶属函数函数gbellmf第2页共24页格式y=gbellmf(x,params)说明一般钟型隶属函数依靠函数表达式b2|acx|11)c,b,a;x(f这里x指定变量定义域范围,参数b通常为正,参数c位于曲线中心,第二个参数变量params是一个各项分别为a,b和c的向量。例6-3>>x=0:0.1:10;>>y=gbellmf(x,[246]);>>plot(x,y)>>xlabel('gbellmf,P=[246]')结果为图6-3。024681000.20.40.60.81024681000.20.40.60.81gbellmf,P=[246]图6-2图6-36.1.4两个sigmoid型隶属函数之差组成的隶属函数函数dsigmf格式y=dsigmf(x,[a1c1a2c2])说明这里sigmoid型隶属函数由下式给出)cx(ae11)c,a;x(fx是变量,a,c是参数。dsigmf使用四个参数a1,c1,a2,c2,并且是两个sigmoid型函数之差:)c,a;x(f)c,a;x(f222111,参数按顺序]caca[2211列出。例6-4>>x=0:0.1:10;>>y=dsigmf(x,[5257]);>>plot(x,y)结果为图6-4024681000.20.40.60.81图6-46.1.5通用隶属函数计算函数evalmf第3页共24页格式y=evalmf(x,mfParams,mfType)说明evalmf可以计算任意隶属函数,这里x是变量定义域,mfType是工具箱提供的一种隶属函数,mfParams是此隶属函数的相应参数,如果你想创建自定义的隶属函数,evalmf仍可以工作,因为它可以计算它不知道名字的任意隶属函数。例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。024681000.20.40.60.81gbellmf,P=[246]图6-56.1.6建立П型隶属函数函数primf格式y=pimf(x,[abcd])说明向量x指定函数自变量的定义域,该函数在向量x的指定点处进行计算,参数[a,b,c,d]决定了函数的形状,a和d分别对应曲线下部的左右两个拐点,b和c分别对应曲线上部的左右两个拐点。例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])说明这里sigmoid型隶属函数由下式给出)cx(ae11)c,a;x(fx是变量,a,c是参数。psigmf使用四个参数a1,c1,a2,c2,并且是两个sigmoid型函数之积:)c,a;x(f)c,a;x(f222111,参数按顺序]caca[2211列出。例6-7>>x=0:0.1:10;>>y=psigmf(x,[23-58]);>>plot(x,y)>>xlabel('psigmf,P=[23-58]')第4页共24页结果为图6-7。024681000.20.40.60.81pimf,P=[14510]024681000.20.40.60.81psigmf,P=[23-58]图6-6图6-76.1.8建立Sigmoid型隶属函数函数sigmf格式y=sigmf(x,[ac])说明)cx(ae11)c,a;x(f,定义域由向量x给出,形状由参数a和c确定。例6-8>>x=0:0.1:10;>>y=sigmf(x,[24]);>>plot(x,y)>>xlabel('sigmf,P=[24]')结果为图6-8。01234567891000.10.20.30.40.50.60.70.80.91sigmf,P=[24]图6-8例6-9>>x=(0:0.2:10)’;>>y1=sigmf(x,[-15]);>>y2=sigmf(x,[-35]);>>y3=sigmf(x,[45]);>>y4=sigmf(x,[85]);>>subplot(2,1,1),plot(x,[y1y2y3y4]);>>y1=sigmf(x,[52]);>>y2=sigmf(x,[54]);>>y3=sigmf(x,[56]);>>y4=sigmf(x,[58]);>>subplot(2,1,2),plot(x,[y1y2y3y4]);结果为图6-9。第5页共24页024681000.51024681000.51图6-96.1.9建立S型隶属函数函数smf格式y=smf(x,[ab])%x为变量,a为b参数,用于定位曲线的斜坡部分。例6-10>>x=0:0.1:10;>>y=smf(x,[18]);>>plot(x,y)结果为图6-10。02468100...