Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка готовая(курсовая).doc
Скачиваний:
84
Добавлен:
27.03.2016
Размер:
908.29 Кб
Скачать
        1. Краткая характеристика программных средств реализации снв

В состав программных средств FuzzyLogicToolboxвходят следующие основные программы, позволяющие работать в режиме графического интерфейса:

редактор нечеткой системы вывода FuzzyInferenceSystemEditorвместе с вспомогательными программами, редактором функций принадлежности (MemberShipFunctionEditor), редактором правил (RuleEditor), наблюдателем правил (RuleViewer) наблюдателем поверхности отклика (SurfaceViewer); редактор гибридных систем (ANFISEditor,ANFIS-редактор); программа нахождения центров кластеров (программаClustering-кластеризация).

Пример. Построение аппроксимирующей системы нечеткого вывода.

При решении задач управления в ряде случаев необходимо построить зависимость критерия оптимизации от параметров, которые можно было бы изменять для получения оптимального значения критерия оптимизации. При этом и критерий оптимизации и управляемые параметры могут быть представлены не в количественном виде. В настоящей работе студент, знакомясь с теоретическими положениями системы нечеткого вывода, программными средствами ее реализации (Приложение 3), подготавливает себя к дальнейшей работе в этом направлении.

Командой Fuzzyиз режима командной строкиMatLabзапускается основная программа пакетаFuzzyLogic- редактор нечеткой системы вывода.

Строка меню редактора содержит позиции:

  • File-работа с файлами;

  • Edit-операции редактирования;

  • View-переход к дополнительному инструментарию.

Рассмотрим порядок построения аппроксимирующей системы на примере значений YиX(табл.№1).

Таблица №24.

х

-1

-0.5

0

0.5

1

y

-2

-1

0

1

2

Порядок построения:

  1. В меню Fileвыбираем командуNewSugenoFISи соглашаемся с именем файла (Untitled)

  2. На блоке input1. Затем в правой части редактора в полеNameвместоinputвведем обозначения аргумента х.

  3. Дважды щелкнем на блоке. Откроется окно редактора функций принадлежности -MembershipFunctionEditor. Откроем менюEditданного редактора и выберем в нем командуAddMFs(Добавить функцию принадлежности). При этом появляется окно, позволяющее задать тип (MFtype) и количество (NumberofMFs) функций принадлежностей (в данном случае все относится к входному сигналу, т.е. к переменной х). Выберем гауссовы функции принадлежности (gassing), а их количества зададим равным пяти по числу значений Х в таблице №1. Подтвердим ввод информации нажатием кнопки ОК, после чего произойдет возврат к окну редактора функции принадлежностей.

  4. В поле Range(диапазон) установим диапазон изменения Х от -1 до 1, т.е. диапазон, установленный в таблице №1. Щелкнем затем левой кнопкой мыши где-нибудь в поле редактора (или нажмем клавишуEnter). После этого произойдет соответствующее изменение диапазона в полеDisplayRange(Диапазон отображения)

  5. Рассмотрим графики заданных нами функций принадлежностей, изображенные в верхней части окна редактора функций принадлежностей. Для успешного решения поставленной задачи необходимо, чтобы ординаты максимумов этих функций совпадали с заданными значениях. Для левой, центральной и правой функции такое условие выполнено, что две других необходимо «подвинуть» вдоль горизонтальной оси. Это можно выполнить, активизировав нужную кривую с помощью мыши и передвинуть ее в нужную позицию. Таким же образом можно изменить ее форму, установить новое имя. Проделаем требуемые перемещения кривых и зададим всем пяти кривым новые имена:

  • Самой левой -Bn,

  • Следующий -n,

  • Центральной -z,

  • следующей за ней справа -P,

  • самой правой – bp.

Выйдем из редактора функций принадлежностей, нажав кнопку Close, и таким образом возвратимся в окно редактора нечеткой системы (FisEditor).

  1. Сделаем однократный щелчок на голубом блоке, озаглавленным output1. В поле заменим имяoutput1 наy.

  2. Дважды щелкнем на выделенном блоке и перейдем к редактору функции принадлежности. В меню Editвыберем командуAddMfs. Появляющееся окно позволяет задать в качестве функций принадлежностей линейные (linear) или постоянные (coustant) -в зависимости от того какой алгоритм Сугено (1-го или 0-го порядка) мы выбираем. В решаемой задаче выбираем постоянные функции принадлежностей с общим числом 5. Подтвердим введенные данные нажатием кнопки ОК, после чего произойдет возврат в окно редактора функции принадлежностей.

  3. Установим диапазон изменения (Range) равным -2 до 2. Изменим имена функций принадлежностей, задав им следующие значения: -2,-1,0,1,2. Одновременно эти же числовые значенияy, т.е. -2,-1,0,1,2 введем в полеParms. Затем закроем окно нажатием кнопкиclоseи вернемся в окноFIS-редактора.

  4. Дважды щелкнем на среднем (белом) блоке, при этом раскроется окно еще одной программы-редактора правил (RuleEditor).Введем соответствующие правила. При вводе каждого правила необходимо обозначить соответствие между каждой функцией принадлежностей аргумента Х и числовым значениемY. Кривая, обозначенная намиbn, соответствует х =-1, т.е. у=-2. Выберем поэтому в левом поле (с заголовкомXis) вариантbn, а в правом 1 и нажмем кнопкуAddrule(Добавить правило). Введенное правило появляется в окне правил и будем представлять собой такую запись:

1.If (x is bn) then (y is) (1)

Аналогично поступим для всех других значений х, в результате чего сформируется набор из пяти правил.

Закроем окно редактора правил и возвратимся в окно FIS-редактора. Построение системы закончено.

  1. Сохраним на диске, используя команды меню File\Save to disk as. Раскроем менюView. С помощью его командEditmembershipfunctionsиEditrulesможно перейти к двум рассмотренным ранее программам -редакторам функций принадлежности и правил. Используем две следующие команды:Viewrules(просмотр правил) иViewsurface( просмотр поверхности). Выберем командуViewrules, при этом откроется окно программы-просмотра правил (RuleViewer).

  2. В правой части окна в графическом форме представлены функции принадлежностей аргумента Х, в левой функции принадлежностей переменной выхода У с пояснением механизма принятия решения. Красная вертикальная черта, пересекающая графики в правой части окна, которую можно перемещать с помощью мыши, позволяет изменять значения переменной входа, при этом соответственно изменяются значения у в правой верхней части окна. Таким образом, с помощью построенной модели и окна просмотра правил можно решать задачу интерполяции изменение аргумента путем перемещения красной вертикальной линии наглядно демонстрирует как система определяет значение выхода.

  3. Закроем окно просмотра правил и выбором команды меню view/viewsurfaceперейдем к окну просмотра поверхностей отклика(вывода), в нашем случае - к просмотру прямой у(х).