Lab2 / ИССЛабораторная №2
.docxЛабораторная работа №2
Нечетка логика. Fuzzy logic block в пакете прикладных программ Matlab
Цель работы: знакомство с блоком Fuzzy logic в Matlab, построение и настройка функций принадлежности.
Ход работы
Вариант 14
Открыли пакет прикладных программ Matlab. В командной строке написали команду fuzzy.
Для построения нечеткой аппроксимирующей системыиспользовать тип системы нечеткого вывода Сугено (Sugeno), для этого в меню File выберем New FIS > Sugeno.
Добавили новые блоки входов или выходов.
Изменим функции принадлежности входов и выходов, двойным нажатием ЛКМ нажмем на блок входа, в открывшемся окне удалим все существующие функции принадлежности mf.
Создали 5 новых функций принадлежности (в соответствии с количеством точек в задании) типа gaussmf.
Симметричная функция Гаусса
y = gaussmf(x, [σ, c]), где с – координата максимума функции
Настроили функции в соответствии с условием задания, коэффициента концентрации ФП σ принять равной 0.25. Задается в Params.
Задали выход. В нашем случае выход принимает константе, соответственно необходимо 5 функций принадлежности типа константа.
Следующий этап создание базы правил систем нечеткого вывода таблица
Таблица
№ |
Входная переменная x |
Выходная переменная y |
1 |
NB |
-8 |
2 |
NS |
-3.375 |
3 |
Z |
0 |
4 |
PS |
0.512 |
5 |
PB |
8 |
Согласно таблице, зададим правила для нашей системы. Перейдем в редактор базы правил Rule Editor, который может быть вызван одним из следующих способов: двойным щелчком по блоку с именем создаваемой системы нечеткого вывода (approximation) или командой меню Edit > Rules. Для ввода правил необходимо выбрать соответствующую комбинацию термов для x и y и нажать кнопку Add rule, введенное правило отобразится в окне правил.
После задания правил нечеткого вывода воспользовавшись командой View -> Rules откроем окно визуализации нечеткого вывода (Rule Viewer).
Воспользовавшись командой меню View > Surface откроем окно просмотра поверхности нечеткого вывода.
На рис. изображен график зависимости входной переменной x от выходной переменной y. Результат моделирования показывает зависимость между переменными x и у по таблице данных. Результирующий график напоминает функцию вида косинуса. Увеличение числа входных точек и параметров функций принадлежности для входной переменной x позволит улучшить точность модели.
Задание:
А) Построить нечеткую аппроксимирующую систему в среде Matlab при σ = 0.1.
Б) Построить нечеткую аппроксимирующую систему в среде Matlab при σ = 0.2.
В) Построить нечеткую аппроксимирующую систему в среде Matlab при σ = 0.4.
Г) Построить нечеткую аппроксимирующую систему в среде Matlab при σ = 0.6.
С увеличением σ(params) график становиться плавней.
Вывод: в ходе лабораторной работы ознакомились с блоком Fuzzy logic в Matlab, построили и настроили функций принадлежности. Рассмотрена методика построения нечеткой аппроксимирующей системы, отображающей зависимость между переменными x и у, с использованием пакета Fuzzy Logic Toolbox.