Б.7 Функції Fuzzy Logic Toolbox



 

Функції, що входять до модуля Fuzzy Logic Toolbox можуть бути викликані з командного рядка. Для отримання переліку функцій слід ввести команду: help fuzzy. Наведемо короткий огляд функцій модуля Fuzzy Logic.

Редактори з графічним інтерфейсом користувача: anfisedit - інструмент для навчання та тестування ANFIS; findcluster - інструмент для кластеризації; fuzzy - базовий редактор FIS; mfedit - редактор функцій приналежності; ruleedit - редактор та аналізатор правил; ruleview - демонстратор правил та діаграм нечіткого виведення; surfview - демонстратор вихідної поверхні.

Функції приналежності: dsigmf, gauss2mf, gaussmf, gbellmf, pimf, psigmf, smf, sigmf, trapmf, trimf, zmf.

Модуль Fuzzy Logic Toolbox пакету MATLAB включає 11 убудованих функцій приналежності, що використовують такі основні функції: кусочно-лінійну; гаусівській розподіл; сигмоїдну криву; квадратичну та кубічну криві.

Для зручності імена всіх убудованих функцій приналежності закінчуються на mf. Виклик функції приналежності здійснюється в такий спосіб: namemf(x, params), де namemf – найменування функції приналежності; x – вектор, для координат якого необхідно розрахувати значення функції приналежності; params – вектор параметрів функції приналежності.

Найпростіші функції приналежності трикутна (trimf) і трапецієподібна (trapmf) формуються з використанням кусочно-лінійної апроксимації. Трапецієподібна функція приналежності є узагальненням трикутної, вона дозволяє задавати ядро нечіткої множини у виді інтервалу. У випадку трапецієподібної функції приналежності можлива наступна зручна інтерпретація: ядро нечіткої множини – оптимістична оцінка; носій нечіткої множини – песимістична оцінка.

Дві функції приналежності – симетрична гаусівська (gaussmf) і двостороння гаусівська (gaussmf) формуються з використанням гаусівського розподілу. Функція gaussmf дозволяє задавати асиметричні функції приналежності. Узагальнена колоколообразна функція приналежності (gbellmf) за своєю формою схожа на гаусівські. Ці функції приналежності часто використовуються в нечітких системах, тому що на всій області визначення вони є гладкими і приймають ненульові значення.

Функції приналежності sigmf, dsigmf, psigmf засновані на використанні сигмоїдної кривої. Ці функції дозволяють формувати функції приналежності, значення яких починаючи з деякого значення аргументу і до +(-) ∞ рівні 1. Такі функції зручні для завдання лінгвістичних термів типу «високий» або «низький».

Поліноміальна апроксимація застосовується при формуванні функцій zmf, pimf і smf, графічні зображення яких схожі на функції sigmf, dsigmf, psigmf, відповідно.

У Fuzzy Logic Toolbox передбачена можливість для користувача створення власної функції приналежності. Для цього необхідно створити m-функцію, що містить два вхідних аргументи – вектор, для координат якого необхідно розрахувати значення функції приналежності і вектор параметрів функції приналежності. Вихідним аргументом функції повинний бути вектор ступенів приналежності.

Функції FIS: addmf - додає функцію приналежності до FIS; addrule - додає правило до FIS; addvar - додає змінну до FIS; defuzz - дефузифікує функцію приналежності; evalfis - здійснює обчислення нечіткого виведення; evalmf - обчислює функцію приналежності; gensurf - генерує поверхню виходу FIS; getfis - повертає властивості нечіткої системи; mf2mf - транслює параметри між функціями прииналежності; newfis - створює нову FIS; parsrule - аналізує нечіткі правила; plotfis - показує діаграму "вхід-вихід" для FIS; plotmf - показує усі функції приналежності для однієї змінної; readfis - завантажує FIS з диску; rmmf - видаляє функцію приналежності з FIS; rmvar - видаляє змінну з FIS; setfis - встановлює властивості нечіткої системи; showfis - показує анотовану FIS; showrule - відображує правила FIS; writefis - зберігає FIS на диску.

Функція output=evalfis(input, fis, numofpoints). виконує обчислення для вибірки екземплярів за допомогою вказаної нейро-нечіткої мережі. Результатом є обчислені виходи функції, яку апроксимує нейро-нечітка мережа. Аргументи та результат функції: input - входи обчислюваної вибірки; fis - нейро-нечітка мережа; numofpoints - кількість точок для проведення дефазифікації (рекомендується брати значення не менше 100, зменшення цього параметру прискорює процес обчислень, але зменшує точність); output - обчислені виходи;

Вибірки даних та нейро-нечіткі мережі, з якими працюють описані функції повинні зберігатися в робочій області MATLAB (в оперативній пам’яті). В стовпцях матриць, що представляють собою вибірки, зберігаються значення входів (ознак) та виходів, в рядках - екземпляри вибірки.

Для завантаження вибірок з диску або запису на диск необхідно використовувати команду MATLAB: s=load(filename), яка. завантажує вміст файлу в змінну s. Функція save(filename, s). зберігає змінну s у файл.

Для можливості використання створеної нейро-нечіткої мережі в наступних сеансах роботи або використання мережі з попередніх слід використовувати такі функції модуля Fuzzy Logic Toolbox: writefis(fis,filename) - зберігає нейро-нечітку мережу fis в файл; fis=readfis(filename) - завантажує з файлу нейро-нечітку мережу в змінну fis.

Передові технології: anfis - функція навчання для системи Сугено; функції кластер-аналізу: fcm, genfis1, genfis2; subclust.

Різні функції: convertfis - перетворює нечітку матрицю структури версії 1.0 у матрицю структури версії 2.0; discfis - дискретизує FIS; evalmmf - використовується для обчислення множинних функцій приналежності; fstrvcat- поєднує матриці різного розміру; fuzarith - функція нечіткої арифметики; findrow - шукає рядки матриці, що відповідають вхідному рядку; genparam - генерує початкові параметри передумов для навчання ANFIS; probor - імовірнісне АБО; sugmax - максимальний вихідний діапазон для системи Сугено.

Функція C = fuzarith(X, A, B, OPERATOR) реалізує базові операції нечіткої логіки та повертає нечітку множину C як результат застосування оператора OPERATOR до нечітких множин A та B з універсальної множини X. Змінні A, B та X мають бути векторами однакової розмірності. OPERATOR має бути одним з рядків: 'sum' - сума, 'sub' - вирахування, 'prod' - добуток, 'div' - ділення. Нечітка множина C, яка повертається, є вектор-стовпцем тієї є довжини, що й A та B. Зауважимо, що ця функція використовує інтервальну арифметику та передбачає, що: A та B є опуклими нечіткими множинами; функції приналежності для A та B поза X є нулем.

Допоміжні функції графічного користувальницького інтерфейсу: cmfdlg - додає діалог вибору функцій приналежності; cmthdlg - додає діалог вибору методу виведення; fisgui - дискрипторне посилання на інтерфейсні засоби модуля Fuzzy Logic Toolbox; gfmfdlg - генерує FIS з використанням діалогу методу ґрат; mfdlg- додає діалог функції приналежності; mfdrag - перетягування функції приналежності за допомогою миші; popundo - відновлює зі стеку останні зміни (відміняє останні дії); pushundo- передає поточні дані у стек відновлення; savedlg - діалог запису перед закриттям; statmsg - зображує повідомлення у полі статусу; updtfis - оновлює засоби графічного інтерфейсу Fuzzy Logic Toolbox; wsdlg- діалог "відкриття з" / "збереження до" робочої області.

 


Дата добавления: 2018-04-15; просмотров: 245; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!