Я создаю программное обеспечение для диагностики заболеваний по симптомам пациентов, что-то вроде этого http://www.symcat.com/, и я не могу найти способ нечеткой динамики c числа входных симптомов или даже больше одного. Данные и источник данных сейчас не актуальны. Я попробовал этот fuzzylogi c в соответствии с одним введенным симптомом, и это был значимый вывод.
FUNCTION_BLOCK clinic
VAR_INPUT
symptoms : REAL;
END_VAR
VAR_OUTPUT
diagnose : REAL;
END_VAR
FUZZIFY symptoms
TERM A:= (0,0) (1,1) ( 2,1) (3,0);
TERM B:= (2,0) (3,1) (4,1) (5,0);
TERM C:= ( 4,0) (5,1) ( 6,1)(7,0);
END_FUZZIFY
DEFUZZIFY diagnose
TERM D:= (0,1) (2, 0);
TERM E:= (1,0) (2, 1) ( 4, 1) (4.5 , 0);
METHOD : COG;
DEFAULT := 0;
END_DEFUZZIFY
RULEBLOCK No1
AND : MIN;
ACT : MIN;
ACCU : MAX;
RULE 1: IF symptoms IS A THEN diagnose IS E;
RULE 2: IF symptoms IS C THEN diagnose IS D;
END_RULEBLOCK
END_FUNCTION_BLOCK
Что мне действительно нужно, так это что-то вроде
IF symptoms ARE A, B, C THEN diagnoses iS E
IF symptoms ARE A, D THEN diagnoses IS D
Спасибо.