Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка - СИИ - Fuzzy Logic.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
702 Кб
Скачать
☆

4 Проектирование системы нечеткого вывода в среде matlab

4.1 Построение нечеткой аппроксимирующей функции у=х2

Исходные данные для аппроксимации представлены в таблице 4.

Таблица 4 – Значения x и y

X

-1

-0,6

0

0,4

1

Y

1

0,36

0

0,16

1

1 Командой fuzzy из режима командной строки запускается основная интерфейсная программа пакета Fuzzy Logic – редактор нечеткой системы вывода.

2 В меню File выбрать команду New Sugeno FIS.

3 Выбрать входной элемент системы input1 и ввести в поле Name обозначение входной переменной (х).

4 Войти в режим редактирования функции принадлежности – Membership Function Editor (двойное нажатие левой клавиши мыши). Выбором Edit/Add MFs (добавить функцию принадлежности) задать тип функции принадлежности (gaussmf) и количество (5).

5 Установить диапазон (Range) изменения х от -1 до 1 (определяется заданным диапазоном х).

6 Совместить ординаты максимумов функций принадлежности с значениями аргумента x.

Шаг выполняется двумя способами: выделить редактируемую функцию принадлежности, перетащить мышью кривую функции принадлежности; более точную установку проводят заданием числовых значений параметров функции принадлежности в поле Params (первое значение определяет размах кривой, второе – положение центра).

В поле Name вводится имя функции принадлежности (1- bn, 2 – n, 3 (центральная) – z, 4 – p, 5 – bp).

Выйти из редактора функций принадлежности – Close.

7 Ввести в поле название выходной переменной output1 (y), войти в режим редактирования функций принадлежности.

8 Задать вид функции принадлежности для выходной переменной. Предлагается выбрать в качестве функции принадлежности линейные (linear) или постоянные (constant) – в зависимости от алгоритма Сугено (1-го или 0-го порядка). В поставленной задаче необходимо выбрать постоянные функции принадлежности с общим числом 4 (по числу различающихся значений y). Нажать Ok.

9 Установить диапазон (Range) – [0, 1]. Изменить значения (Params) и задать для выходных переменных имена (Name) соответственно 0; 0,16; 0,36; 1. Закрыть редактор.

10 Перейти в редактор привил (Rule Editor) (дважды щелкнуть на средний белый квадрат разрабатываемой структуры системы нечеткого вывода). При вводе каждого правила необходимо обозначить соответствие между каждой функцией принадлежности аргумента x и числовым значением y. Кривая, обозначенная bn, соответствует y=1, для чего выбирается в левом поле (с заголовком x is) вариант bn, а в правом – 1 и нажимается кнопка Add rule.

Введенное правило появится в окне правил в виде

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

Аналогично вводятся все правила (всего 5).

Закрыть окно редактора правил и вернуться в окно FIS-редактора.

Построение системы закончено.

Сохранить на диске (File/Save to disk as) созданную систему. Перейти в редактор функций принадлежности (View/Edit Membership function). Из окна редактора командой можно перейти в окно просмотра правил (View rules), просмотра поверхности (View surface).

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

Просмотр кривой y(x) осуществляется командой View/View surface. Большая погрешность аппроксимации заданной зависимости объясняется малым числом экспериментов.

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

В рассмотренном примере использованы следующие операции, устанавливаемые по умолчанию в алгоритме Сугено:

- логический вывод организуется с помощью операции логического умножения (prod);

- композиция организуется с помощью операции логической суммы (вероятностного ИЛИ, probor);

- приведение к четкости (дефаззификация) организуется дискретным вариантом центроидного метода (взвешенным средним, wtaver).