Цель: изучение основных видов функций принадлежности нечетких множеств, ознакомление с составом и возможностями инструментария нечеткой логики Fuzzy Logic Toolbox, входящего в пакете MATLAB, приобретение практических навыков работы в пакете Fuzzy Logic Toolbox. Решение: Окно формирование функций Двухсторонняя гауссовская функция принадлежностей: принадлежности: Функция принадлежности Трапециевидная функция "обобщенные колокол":принадлежности: Операции объединение, пересечение и дополнение (ФП gbellmf и trapmf, интер. 0:15). 1) К операции объединение относится: max, алгебраическое, граничное и драстическое. Операция max объединение: x=0:0.1:15; y=gbellmf(x, [2.5 2.5 11]); z=trapmf(x, [6 7 8 9]); m=max([y;z]); plot(x,[y;z], ':'); axis([0 17 -0.05 1.05]); plot(x, m, 'r'); Операция граничное объединение: x=0:0.1:15; y=gbellmf(x, [2.5 2.5 11]); z=trapmf(x, [6 7 8 9]); m=min(y+z,1); plot(x,[y;z], ':'); axis([0 17 -0.05 1.05]); plot(x, m, '0'); Операция алгебраическое объединение: x=0:0.1:15; y=gbellmf(x, [2.5 2.5 11]); z=trapmf(x, [6 7 8 9]); m=y+z-y.*z; plot(x,[y;z], ':'); axis([0 17 -0.05 1.05]); plot(x, m, 'r'); Операция драстическое объединение: x=0:0.1:15; y=gbellmf(x, [2.5 2.5 11]); z=trapmf(x, [6 7 8 9]); if y==0 m=z; elseif z==0 m=y; else m=1; end plot(x,[y;z], ':'); axis([0 17 -0.05 1.05]); plot(x, m, '*'); 2) К операции пересечение относятся: min, алгебраическое, граничное и драстическое. Операция min объединение: x=0:0.1:15; y=gbellmf(x, [2.5 2.5 11]); z=trapmf(x, [6 7 8 9]); m=min([y;z]); plot(x,[y;z], ':'); axis([0 17 -0.05 1.05]); plot(x, m, 'r'); Операция граничное объединение: x=0:0.1:15; y=gbellmf(x, [2.5 2.5 11]); z=trapmf(x, [6 7 8 9]); m=max(y+z-1,0); plot(x,[y;z], ':'); axis([0 17 -0.05 1.05]); plot(x, m, '0'); Операция алгебраическое объединение: x=0:0.1:15; y=gbellmf(x, [2.5 2.5 11]); z=trapmf(x, [6 7 8 9]); m=y.*z; plot(x,[y;z], ':'); axis([0 17 -0.05 1.05]); plot(x, m, 'r'); Операция драстическое объединение: x=0:0.1:15; y=gbellmf(x, [2.5 2.5 11]); z=trapmf(x, [6 7 8 9]); if y==1 m=z; elseif z==1 m=y; else m=0; end plot(x,[y;z], ':'); axis([0 17 -0.05 1.05]); plot(x, m, '*'); 3) Операция дополнение: ФП "обобщенный колокол": x=0:0.1:15; y=gbellmf(x, [2.5 2.5 11]); y1=1-y; plot(x,y, ':'); axis([0 17 -0.05 1.05]); plot(x, y1, 'r'); Трапециевидная ФП: x=6:0.1:9; z=trapmf(x, [6 7 8 9]); z1=1-z; plot(x,z, ':'); axis([6 9 -0.05 1.05]); plot(x, z1, 'r'); Двухсторонняя гауссовская функция: x=0:0.1:9; u=gauss2mf(x, [0.4 2 0.2 6]); u1=1-u; plot(x,u, ':'); axis([0 9 -0.05 1.05]); plot(x, u1, 'r');
1/--страниц