Разработка системы нечеткого вывода в режиме командной строки. Функции принадлежности пакета Fuzzy Logic Toolbox

Страницы работы

Фрагмент текста работы

Лабораторная работа №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.

x=newfis('computer');

Результатом работы данной команды будет создание новой структуры х, которая отобразиться в рабочей области окна MATLAB.

Чтобы получить информацию о существующей системе необходимо вызвать с помощью командной строки функцию showfis. Результатом работы функции будет отображение свойств системы в командном окне.

Аналогичного результата можно добиться дважды щелкнув мышью на значке структуры в рабочей области

Добавить новую переменную в систему можно двумя способами.

Способ 1:

x=addvar (x, 'input', 'dis',[0 10]);

Способ 2:

x.input(1).name='design'; x.input(1).range=[0 10];

Здесь, в скобках указан порядковый номер переменой.

Для того, чтобы добавить терм для существующей переменной необходимо

Похожие материалы

Информация о работе