Нечеткий вывод - Треугольная функция





в палитре на схеме

Описание

Блок предназначен для вычисления значения нечеткого вывода по вектору, состоящему из результатов расчета степени истинности для правил нечеткого вывода. Блок осуществляет аккумуляцию всех правил в единую функцию и дефазификацию выходной переменной в конечное значение. В качестве функции принадлежности термов выходной лингвистической переменной используются треугольные функции, параметры которых задает пользователь.

Выходная величина рассчитывается в зависимости от заданных параметров по алгоритму Мамдани:

где:

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.
  • Степень – массив значений (степень значения функций) в функциях принадлежности, размерность должна соответствовать, количеству термов лингвистической переменной. Данные величины определяют искривление границ термов. Данное значение должно быть положительным.
  • Метод активизации – перечисляемая переменная определяющая способ активизации заключений из правила.
  • Относительная точность расчета – относительный шаг численного интегрирования, при численном расчет интеграла.

Параметры

  • Результат - численное значение выходной лингвистической переменной величины нечеткого вывода.