Лабораторная работа №2
Тема: Разработка системы нечеткого вывода в режиме командной строки
Количество переменных и правил, которые могут быть визуализированы в режиме интерактивного проектирования нечеткой системы, ограничено. Так, если число переменных превышает 10, то их отображение в соответствующих графических редакторах происходит с искажениями. Процесс разработки нечеткой системы в режиме командной строки может дополнить, а в отдельных случаях и заменить процесс разработки в интерактивном режиме, предоставляя проектировщику полный контроль над всеми переменными рабочей области системы MATLAB.
Процесс разработки нечеткой системы в режиме командной строки реализуется с помощью функций, входящих в состав пакета Fuzzy Logic Toolbox. В системе MATLAB реализованы следующие основные группы функций:
Функции принадлежности пакета Fuzzy Logic Toolbox.
Функция |
Назначение |
dsigmf |
Разность двух сигмоидальных функций принадлежности |
gauss2mf |
Функция принадлежности типа двухсторонней кривой Гаусса |
gaussmf |
Функция принадлежности типа кривой Гаусса |
gbellmf |
Обобщенная функция принадлежности типа колоколообразной кривой |
pimf |
П-образная функция принадлежности |
psigmf |
Поизведение двух сигмоидальных функций принадлежности |
smf |
S-образная функция принадлежности |
sigmf |
Сигмоидальная функция принадлежности |
trapmf |
Трапециевидная функция принадлежности |
trimf |
Треугольная функция принадлежности |
zmf |
Z-образная функция принадлежности |
Функция |
Назначение |
addmf |
Добавляет функцию принадлежности в систему нечеткого вывода FIS |
addrule |
Добавляет правило в систему нечеткого вывода FIS |
addvar |
Добавляет переменную в систему нечеткого вывода FIS |
defuz |
Дефаззификация функции принадлежности |
evalfis |
Выполняет нечеткий вывод в FIS |
evalmf |
Выполняет оценку функции принадлежности |
gensurf |
Генерирует поверхность вывода FIS |
getfis |
Выводит свойства нечеткой системы |
mf2mf |
Преобразует параметры двух функций принадлежности |
newfis |
Создаёт новую систему нечеткого вывода FIS |
parsrule |
Проверяет правильность правил вывода |
plotfis |
Отображает структуру входа/выхода системы нечеткого вывода FIS |
plotmf |
Изображает графики всех функций принадлежности соответствующей лингвистической переменной |
readfis |
Загружает систему нечеткого вывода с диска |
rmmf |
Удаляет функцию принадлежности из системы нечеткого вывода FIS |
rmvar |
Удаляет переменную из системы нечеткого вывода FIS |
setfis |
Задает свойства нечеткой системы |
showfis |
Отображает обозначения FIS |
showrule |
Отображает правила системы нечеткого вывода FIS |
writefis |
Сохраняет систему нечеткого вывода FIS |
Функция |
Назначение |
anfis |
Программа обучения системы нечеткого вывода FIS типа Сугено (только МЕХ) |
fcm |
Программа нахождения кластеров для алгоритма нечетких с-средних FCM |
fuzarith |
Выполнение операций нечеткой арифметики |
fuzblock |
Библиотека нечеткой логики пакета Simulink |
genfis1 |
Генерирует матрицу системы нечеткого вывода FIS с использованием «жадного» алгоритма grid |
genfis2 |
Генерирует матрицу системы нечеткого вывода FIS с использованием субтрактивной кластеризации |
sffis |
S-функция нечеткого вывода для пакета Simulink |
subclust |
Программа нахождения кластеров для алгоритма субтрактивной кластеризации |
При разработке системы нечеткого вывода в режиме команд нечеткая модель в рабочей области системы MATLAB представляется в форме так называемой структуры.
В системе MATLAB структура представляет собой тип данных, который состоит из полей и, возможно, из других структур. В свою очередь, поле представляет собой простейший тип данных (число или строку). В рабочей области MATLAB структура представляется в форме массива и обозначается ключевым словом struct array.
Таким образом, процесс разработки системы нечеткого вывода в командном режиме представляет собой последовательность функций, которые в фиксированном порядке определяют все элементы (поля и вложенные структуры) исходной структуры системы MATLAB. При разработке системы нечеткого вывода в режиме команд для имен переменных и термов следует пользоваться только символами латиницы. Для задания полей исходной структуры с именем х и вложенных в нее структур используется символ точки.
Например создадим новую систему нечеткого вывода x с именем computer, использовав функцию newfis.
Результатом работы данной команды будет создание новой структуры х, которая отобразиться в рабочей области окна MATLAB.
Чтобы получить информацию о существующей системе необходимо вызвать с помощью командной строки функцию showfis. Результатом работы функции будет отображение свойств системы в командном окне.
Аналогичного результата можно добиться дважды щелкнув мышью на значке структуры в рабочей области
Добавить новую переменную в систему можно двумя способами.
Способ 1:
x=addvar (x, 'input', 'dis',[0 10]);
Способ 2:
Здесь, в скобках указан порядковый номер переменой.
Для того, чтобы добавить терм для существующей переменной необходимо
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.