Виды функций принадлежности нечетких множеств


Цель: изучение основных видов функций принадлежности нечетких множеств, ознакомление с составом и возможностями инструментария нечеткой логики Fuzzy Logic Toolbox, входящего в пакете MATLAB, приобретение практических навыков работы в пакете Fuzzy Logic Toolbox.

Основные виды функций принадлежности: trimf (треугольная), trapmf (трапециевидная), gbellmf (обобщенная колоколообразная), gaussmf (гауссовская), gauss2mf (двухсторонняя гауссовская), sigmf (сигмоидная), psigmf (произведение двух сигмоидных ФП), pimf (пи-подобная), smf (s-подобная), zmf (z-подобная).

Формирование треугольной функции принадлежности (ФП):

X = 0 : 0.1 : 10; % задание базового множества

Y = trimf (x, [3 6 8]); % определяется треугольная ФП

Plot (x, y); % выводится график функции

Xlabel ('trimf (x, P), P = [3 6 8]'); % подписывается график под осью абсцисс

треугольная функция принадлежности

Рисунок 1 - Треугольная функция принадлежности

Трапециевидная ФП:

X = 0 : 0.1 : 10; % задание базового множества

Y = trapmf (x, [1 4 7 8]); % определяется трапециевидная ФП

Plot (x, y); % выводится график функции

Xlabel ('trapmf (x, P), P = [2 4 7 9]'); % подписывается график под осью абсцисс

трапециевидная фп

Рисунок 2 - Трапециевидная ФП

Программа использования и :

X = 0 : 0.1 : 10;

Y = gaussmf (x, [2 5]);

Plot (x, y);

%--------------------

X = 0 : 0.1 : 10;

Y1 = gauss2mf (x, [2 4 1 8]);

Y2 = gauss2mf (x, [2 5 1 7]);

Y3 = gauss2mf (x, [2 6 1 6]);

Y4 = gauss2mf (x, [2 7 1 5]);

Y5 = gauss2mf (x, [2 8 1 4]);

Plot (x, y1);

Hold on % включение механизма добавления кривой в текущий график

Plot (x, y2);

Hold on

Plot (x, y3);

Hold on

Plot (x, y4);

Hold on

Plot (x, y5);

Hold off

простая и двусторонняя функции принадлежности гаусса

Рисунок 3 Простая и двусторонняя функции принадлежности Гаусса

ФП "обобщенный колокол"

X = 0 : 0.1 : 10;

Y = gbellmf (x, [2 4 6]);

Plot (x, y);

фп

Рисунок 4 - ФП "обобщенный колокол"

Описание дополнительных сигмоидных функций:

Программа использования сигмоидных функций:

X = 0 : 0.1 : 10;

Subplot (1,3,1);

Y = sigmf (x, [2 4]);

Plot (x, y);

Xlabel ('sigmf, P = [2 4]');

Subplot (1,3,2);

Y = dsigmf (x, [5 2 5 7]);

Plot (x, y);

Xlabel ('dsigmf, P = [5 2 5 7]');

Subplot (1,3,3);

Y = psigmf (x, [2 3 -5 8]);

Plot (x, y);

Xlabel ('psigmf, P = [2 3 -5 8]');

сигмоидные фп

Рисунок 5 - Сигмоидные ФП: основная односторонняя, дополнительная двухсторонняя и дополнительная несимметричная

Инструментарий нечеткой логики (Fuzzy Logic Toolbox) в составе MatLab предоставляет возможность формирования ФП на основе полиномиальных кривых. Соответствующие функции называются Z-функции (Zmf), PI-функции (Pimf) и S-функции (Smf). Функция Zmf представляет собой асимметричную полиномиальную кривую, открытую слева (рис.8, а), функция Smf - зеркальное отображения функции Zmf (рис.8, б). Соответственно функция Pimf равна нулю в правом и левом пределах и принимает значение, равное единице, в середине некоторого отрезка (рис. 8, в).

Описание функций:

Параметры A и B определяют экстремальные значения кривой (рис. 8, а).

Параметры A и D задают переход функции в нулевое значение, а параметры B и C - в единичное (рис. 8, в).

Параметры A и B определяют экстремальные значения кривой (рис. 8, б).

Программа использования полиномиальных кривых:

X = 0 : 0.1 : 10;

Subplot (1,3,1);

Y = zmf (x, [3 7]);

Plot (x, y);

Xlabel ('zmf, P = [3 7] ');

Subplot (1,3,2);

Y = smf (x, [1 8]);

Plot (x, y);

Xlabel ('smf, P = [1 8]');

Subplot (1,3,3);

Y = pimf (x, [1 4 5 10]);

Plot (x, y);

Xlabel ('pimf, P = [1 4 5 10]');

полиномиальные функции принадлежности

Рисунок 8 - Полиномиальные функции принадлежности: а - Z-функция;

Б - S-функция;

В - PI-функция

Применение операции объединения, пересечения и дополнения к выбранным парам ФП:

Объединение (max):

X=3:0.1:11;

Y=trapmf (x, [2 4 7 9]);

Z=smf (x, [5 11]);

M=max ([y;z]);

Plot (x,[y;z], ':');

Axis ([3 11 0 1.05]);

Hold on plot (x, m, 'r');

объединение (max)

Рисунок 9 - Объединение (max)

Объединение (алгебраическое):

X=3:0.1:11;

Y=trapmf (x, [2 4 7 9]);

Z=smf (x, [5 11]);

M=y+z-y.*z;

Plot (x,[y;z], 'x');

Axis ([3 11 0 1.05]);

Hold on

Plot (x, m, 'r');

объединение (алгебраическое)

Рисунок 10 - Объединение (алгебраическое)

Объединение (граничное):

X=3:0.1:11;

Y=trapmf (x, [2 4 7 9]);

Z=smf (x, [4 11]);

M=min (y+z, 1);

Plot (x,[y;z], 'x');

Axis ([3 11 0 1.05]);

Hold on plot (x, m, 'r');

объединение (граничное)

Рисунок 11 - Объединение (граничное)

Множество пакет график

Объединение (драстическое):

X=3:0.1:11;

Y=trapmf (x, [2 4 7 9]);

Z=smf (x, [4 11]);

Plot (x,[y;z], 'x');

Axis ([3 11 0 1.05]);

Hold on

If y==0

M=z;

Elseif z==0

M=y;

Else

M=1;

End

Plot (x, m, '*');

объединение (драстическое)

Рисунок 12 - Объединение (драстическое)

Пересечение (min):

X=3:0.1:11;

Y=trapmf (x, [2 4 7 9]);

Z=smf (x, [4 11]);

M=min ([y;z]);

Plot (x,[y;z], ':');

Axis ([3 11 0 1.05]);

Hold on

Plot (x, m, '*');

пересечение (min)

Рисунок 13 - Пересечение (min)

Пересечение (алгебраическое):

X=3:0.1:11;

Y=trapmf (x, [2 4 7 9]);

Z=smf (x, [4 11]);

M=y.*z;

Plot (x,[y;z], ':');

Axis ([3 11 0 1.05]);

Hold on plot (x, m, '*');

пересечение (алгебраическое)

Рисунок 14 - Пересечение (алгебраическое)

Пересечение (граничное):

X=3:0.1:11;

Y=trapmf (x, [2 4 7 9]);

Z=smf (x, [4 11]);

M=max (y+z-1,0);

Plot (x,[y;z], ':');

Axis ([3 11 0 1.05]);

Hold on plot (x, m, '*');

пересечение (граничное)

Рисунок 15 - Пересечение (граничное)

Пересечение (драстическое):

X=3:0.1:11;

Y=trapmf (x, [2 4 7 9]);

Z=smf (x, [4 11]);

Plot (x,[y;z], ':');

Axis ([3 11 0 1.05]);

Hold on

If y==1

M=z;

Elseif z==1

M=y;

Else

M=0;

End

Plot (x, m, '*');

пересечение (драстическое)

Рисунок 16 - Пересечение (драстическое)

Дополнение:

X=-5:0.1:5;

Params=[-2 [0.5 2]];

Y1=sigmf (x, params);

Y2=1-y1;

Plot (x, y1, '*');

Axis ([-5 5 0 1.05]);

Hold on plot (x, y2, ':');

дополнение

Рисунок 17 - Дополнение

Похожие статьи




Виды функций принадлежности нечетких множеств

Предыдущая | Следующая