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

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

Рубрика Экономико-математическое моделирование
Вид лабораторная работа
Язык русский
Дата добавления 19.12.2014
Размер файла 892,0 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Цель: изучение основных видов функций принадлежности нечетких множеств, ознакомление с составом и возможностями инструментария нечеткой логики 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');

Рисунок 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, '*');

Рисунок 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 - Дополнение

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.