Нечеткий вывод - Треугольная функция
![]() |
![]() |
|
| в палитре | на схеме |
Описание
Блок предназначен для вычисления значения нечеткого вывода по вектору, состоящему из результатов расчета степени истинности для правил нечеткого вывода. Блок осуществляет аккумуляцию всех правил в единую функцию и дефазификацию выходной переменной в конечное значение. В качестве функции принадлежности термов выходной лингвистической переменной используются треугольные функции, параметры которых задает пользователь.
Выходная величина рассчитывается в зависимости от заданных параметров по алгоритму Мамдани:
где:
Y - значение выходной переменной, результат нечеткого вывода.
Max_X, Min_X - границы диапазона для расчета выходной переменной;
M(x) = max{μ'1(x), μ'2(x) ... μ'N_term} – общая функция принадлежности выходной переменной по всем термам с учетом результатов активизации правил μ'i(x);
μ'i(x) – результат активизации подзаключения из правила нечеткого вывода для i-го терма выходной переменной.
-
min-активизация:
-
prod-активизация:
-
average-активизация:
μ(x) – функция принадлежности терма выходной переменной (определяется величинами a, b, c из параметров блока);
k - степень истинности для правила нечеткого вывода (значение из входного вектора).
Функции принадлежности рассчитываются по следующей формуле:
где:
μ(x) – значение функции принадлежности терма в выходном векторе;
x – значение входной величины;
a, b, c, deg – параметры функций, задаваемые пользователем.

При включенной анимации на блоке отображается вид результата аккумуляции правил (синяя фигура) и значение выходной величины (красная линия).
Входные порты
- in – вектор результатов расчета степени истинности правил нечеткого вывода, размерность вектора должна соответствовать количеству термов выходной лингвистической переменной, порядок расположения результатов должен соответствовать порядку термов выходной лингвистической переменной.
Выходные порты
- out – численное значение выходной лингвистической переменной величины нечеткого вывода.
Свойства
- Количество термов – количество термов рассчитываемой лингвистической переменной блока.
- Минимальное значение – нижняя граница диапазона для расчета переменой.
- Максимальное значение – верхняя граница диапазона для расчета переменной.
- Массив значений a – массив значений (левые границы треугольных функций) в функциях принадлежности, размерность должна соответствовать, количеству термов лингвистической переменной. Данные величины определяют левую границу для термов, значения при которых функция принадлежности терма равна 0.
- Массив значений b – массив значений (вершины треугольных функций) в функциях принадлежности, размерность должна соответствовать, количеству термов лингвистической переменной. Данные величины определяют для термов, значения при которых функция принадлежности терма равна 1. Минимальное и максимальное значение определяют минимум и максимум диапазона.
- Массив значений c – массив значений (правые границы треугольных функций) в функциях принадлежности, размерность должна соответствовать, количеству термов лингвистической переменной. Данные величины определяют правую границу для термов, значения при которых функция принадлежности терма равна 0.
- Степень – массив значений (степень значения функций) в функциях принадлежности, размерность должна соответствовать, количеству термов лингвистической переменной. Данные величины определяют искривление границ термов. Данное значение должно быть положительным.
- Метод активизации – перечисляемая переменная определяющая способ активизации заключений из правила.
- Относительная точность расчета – относительный шаг численного интегрирования, при численном расчет интеграла.
Параметры
- Результат - численное значение выходной лингвистической переменной величины нечеткого вывода.

