据我所知,如果我要使用 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 得到一个完全填充的正方形,这没有任何意义。
我在谷歌上找不到任何东西,所以我决定在这里寻求帮助。