在Sugeno方法上使用Java和jfuzzylogic库

时间:2019-06-20 14:31:39

标签: java fuzzy-logic jfuzzylogic

据我所知,如果要使用Mamdani方法对值进行模糊化处理,我将以这种方式编写FCL文件:

TERM T1 :=        (0,  1) (1,  0);
TERM T2 := (1, 0) (2,  1) (2,  0);
TERM T3 := (4, 0) (5,  1) (5,  0);
TERM T4 := (6, 0) (7,  1) (7,  0);
TERM T5 := (9, 0) (10, 1) (10, 0);

注意:值本身可能没有实际意义,因为我未在模糊控制模糊化逻辑中使用Mamdani方法。

我想做的或实际上我有义务做的是使用Sugeno方法并说:

TERM T1 := (0,  1);
TERM T2 := (2,  1);
TERM T3 := (5,  1);
TERM T4 := (7,  1);
TERM T5 := (10, 1);

或者为了更好地说明,我想将范围设置为0到10,并且希望我的用词在x轴上的点的值为1、0、2、5、7和10。

如何在FCL文件中进行编码?我相信方法是COGS吗?

DEFUZZIFY DFZF
    // what to do here?
END_DEFUZZIFY

当我像现在所说的那样输入Sugeno时,我得到一个完全填充的正方形,x轴为0-10,y轴为0-1,这没有任何意义。 / p>

我在Google上找不到任何内容,因此,我决定在这里寻求帮助。

1 个答案:

答案 0 :(得分:0)

编辑::

我找到了解决方案。使用SUGENO样式时,您需要编写:

DEFUZZIFY attribute
    TERM T1 := 0;
    TERM T2 := 2;
    // and so on.
END_DEFUZZIFY