Блок предназначен для вычисления значения нечеткого вывода по вектору, состоящему из
результатов расчета степени истинности для правил нечеткого вывода. Блок осуществляет
аккумуляцию всех правил в единую функцию и дефазификацию выходной переменной в конечное
значение. В качестве функции принадлежности термов выходной лингвистической переменной
используются треугольные функции, параметры которых задаёт пользователь.
Выходная величина рассчитывается в зависимости от заданных параметров по алгоритму
Мамдани:
где:
Y - значение выходной переменной, результат нечеткого вывода.
MaxX, MinX - границы диапазона для расчета выходной переменной;
– общая функция принадлежности
выходной переменной по всем термам с учетом результатов активизации правил
;
– результат
активизации под-заключения из правила нечёткого вывода для i-го терма выходной
переменной;
В зависимости от заданного метода результат активизации рассчитывается для каждого терма
выходной переменной по следующим формулам:
-
min-активация
-
prod-активизация
-
average-активизация
μ(x) – функция принадлежности терма выходной переменной (определяется
величинами a, b, c из параметров блока);
k - степень истинности для правила нечеткого вывода (значение из входного вектора).
Функции принадлежности рассчитываются по следующей формуле:
где:
Y – значение функции принадлежности i-го терма в выходном векторе;
X – значение входной величины;
C, sigma – параметры функций, задаваемые Пользователем.
Функции принадлежности термов выходной переменной описываются следующей схемой:
При включенной анимации на блоке отображается вид результата аккумуляции правил (синяя
фигура) и значение выходной величины (красная линия).
Порты
-
in – вектор результатов расчета степени истинности правил нечеткого
вывода, размерность вектора должна соответствовать количеству термов выходной
лингвистической переменной, порядок расположения результатов должен соответствовать
порядку термов выходной лингвистической переменной;
-
out – численное значение выходной лингвистической переменной
величины нечеткого вывода.
Свойства блока
- Количество термов – количество термов рассчитываемой лингвистической переменной
блока.
- Минимальное значение – нижняя граница диапазона для расчета переменой.
- Максимальное значение – верхняя граница диапазона для расчета переменной.
- Массив значений
a – массив значений (левые границы треугольных функций) в функциях принадлежности,
размерность должна соответствовать, количеству термов лингвистической переменной. Данные
величины определяют левую границу для термов, значения при которых функция принадлежности
трема равна 0.
- Массив значений
b – массив значений (вершины треугольных функций) в функциях принадлежности,
размерность должна соответствовать, количеству термов лингвистической переменной. Данные
величины определяют для термов, значения при которых функция принадлежности трема равна 1.
Минимальное и максимальное значение определяют минимум и максимум диапазона.
- Массив значений
c – массив значений (правые границы треугольных функций) в функциях
принадлежности, размерность должна соответствовать, количеству термов лингвистической
переменной. Данные величины определяют правую границу для термов, значения при которых
функция принадлежности трема равна 0.
- Степень – массив значений (степень значения функций) в функциях принадлежности,
размерность должна соответствовать, количеству термов лингвистической переменной. Данные
величины определяют искривление границ термов. Данное значение должно быть
положительным.
- Метод активизации – перечисляемая переменная определяющая способ активизации
заключений из правила.
- Относительная точность расчета – относительнй шаг численного интегрирования, при
численном расчет интеграла.