Использование библиотеки java и jfuzzylogic по методу Сугено - PullRequest
0 голосов
/ 20 июня 2019

Насколько я знаю, если бы я исказил значение с помощью метода Мамдани, я бы написал файл 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);

Примечание: сами значения могут не иметь реального смысла,так как я не использую метод Мамдани в моей логике нечеткого управления.

То, что я хочу или фактически обязан сделать, это использовать метод Сугено и сказать:

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

Или для лучшего разъяснения, я хочу иметь диапазон от 0 до 10, и я бы хотел, чтобы мои термины имели значение 1 в точках на оси х: 0, 2, 5, 7 и 10.

Как я могу кодировать это в файле FCL?Я верю, что метод COGS?

DEFUZZIFY DFZF
    // what to do here?
END_DEFUZZIFY

Когда я печатаю в терминах Сугено, как я только что, я получаю полностью заполненный квадрат от 0 - 10 по оси x и от 0 - 1 поОсь Y, которая не имеет никакого смысла.

Я не могу найти что-либо в Google, поэтому я решил обратиться за помощью здесь.

1 Ответ

0 голосов
/ 20 июня 2019

РЕДАКТИРОВАТЬ ::

Я нашел решение.При использовании стиля SUGENO необходимо написать:

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