据我所知,如果我使用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,这没有任何意义。
我在谷歌上找不到任何东西,所以我决定在这里寻求帮助。
发布于 2019-06-20 23:30:43
编辑::
我找到了解决方案。当使用SUGENO风格时,你需要写:
DEFUZZIFY attribute
TERM T1 := 0;
TERM T2 := 2;
// and so on.
END_DEFUZZIFYhttps://stackoverflow.com/questions/56688275
复制相似问题