主要内容

去模糊化方法

这个例子描述了去模糊1型Mamdani模糊推理系统的输出模糊集的内置方法。

考虑下面的输出模糊集,它是三个伸缩梯形隶属函数的集合。

X = 0:0.1:20;Mf1 = trapmf(x,[0 2 8 12]);Mf2 = trapmf(x,[5 7 12 14]);Mf3 = trapmf(x,[12 13 18 19]);Mf = max(0.5*mf2,max(0.9*mf1,0.1*mf3));图(“标签”“defuzz”)情节(x, mf,“线宽”,3) h_gca = gca;h_gca。YTick = [0.5 1];ylim ([1])

图中包含一个axes对象。axis对象包含一个类型为line的对象。

模糊逻辑工具箱™软件支持五种内置方法,用于计算这样一个模糊集万博1manbetx的单个清晰输出值。

  • 重心

  • 平分线

  • 最大值中间

  • 最大值中的最小值

  • 最大值中的最大值

您还可以定义自己的自定义去模糊化方法。有关更多信息,请参见使用自定义函数构建模糊系统

重心

质心去模糊化使模糊集的重心沿x轴返回。如果你把这个区域想象成一个厚度和密度都相等的平板,质心就是模糊集在x轴上平衡的点。用下面的公式计算质心 μ x 会员价值为点吗 x 在话语的宇宙中。

xCentroid μ x x μ x

计算模糊集的质心。

xCentroid = defuzz(x,mf,“重心”);

在原图上标出质心去模糊化结果。

hCentroid = line([xCentroid xCentroid],[-0.2 1.2],“颜色”“k”);tCentroid = text(xCentroid,-0.2,“重心”“FontWeight”“大胆”);

图中包含一个axes对象。axis对象包含3个类型为line、text的对象。

平分线

等分线法找到一条垂直线,将模糊集分成两个面积相等的子区域。它有时与质心线重合,但并不总是如此。

xBisector = defuzz(x,mf,“平分线”);

在原图上标出平分线的结果,并将质心的结果灰色化。

hBisector = line([xBisector xBisector],[-0.4 1.2],“颜色”“k”);tBisector = text(xBisector,-0.4,“平分线”“FontWeight”“大胆”);灰色= 0.7*[1 1 1];hCentroid。颜色=gray; tCentroid.Color = gray;

图中包含一个axes对象。axis对象包含5个类型为line、text的对象。

最大值的中值、最小值和最大值

MOM、SOM和LOM分别代表最大值中的中、最小和最大。在本例中,由于聚合模糊集在其最大值处有一个平台,所以MOM、SOM和LOM去模糊化结果具有不同的值。如果聚合模糊集有唯一的最大值,则MOM、SOM和LOM都产生相同的值。

xMOM = defuzz(x,mf,“妈妈”);xSOM = defuzz(x,mf,“索玛”);xLOM = defuzz(x,mf,“lom”);

在原图上标出MOM、SOM和LOM结果,并将平分线结果灰色化。

hMOM = line([xMOM xMOM],[-0.7 1.2],“颜色”“k”);tMOM = text(xMOM,-0.7,“妈妈”“FontWeight”“大胆”);hSOM = line([xSOM xSOM],[-0.7 1.2],“颜色”“k”);tSOM = text(xSOM,-0.7,“索玛”“FontWeight”“大胆”);hLOM = line([xLOM xLOM],[-0.7 1.2],“颜色”“k”);tLOM = text(xLOM,-0.7,“LOM”“FontWeight”“大胆”);hBisector。颜色=gray; tBisector.Color = gray;

图中包含一个axes对象。axis对象包含11个类型为line、text的对象。

选择去模糊化方法

一般来说,对于大多数应用程序,使用默认的质心方法就足够了。一旦您创建了初始模糊推理系统,您可以尝试其他去模糊化方法,以查看是否有任何改进推理结果的方法。

突出显示质心结果,灰色化MOM、SOM和LOM结果。

hCentroid。颜色=“红色”;tCentroid。颜色=“红色”;hMOM。颜色=灰色;tMOM。颜色=灰色;hSOM。颜色=灰色;tSOM。颜色=灰色;hLOM。Color = gray; tLOM.Color = gray;

图中包含一个axes对象。axis对象包含11个类型为line、text的对象。

相关的话题