русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Аппроксимация функции одной переменной с использованием нечеткой системы


Дата добавления: 2014-11-28; просмотров: 2299; Нарушение авторских прав


Цель выполнения лабораторной работы:

1. Освоить методику построения нечетких систем.

2. Используя нечеткую систему научиться аппроксимировать функцию одной переменной.

Задание:

Необходимо построить с помощью интерфейсной программы пакета нечеткой логики программной среды MATLAB нечеткую систему, необходимую для аппроксимации табличной функции , . Варианты задания представлены в табл. 2.1.

 

Варианты заданий

 

Значения , , одинаковы для всех вариантов

 

 

Таблица 2.1

i   Значение
№1 №2 №3 №4 №5 №6 №7 №8 №9 №10
1.50 1.26 0.99 0.97 0.91 0.71 0.43 0.54 0.19 0.01 2.09 2.05 2.19 2.18 2.17 2.27 2.58 2.73 2.82 3.04   2.02 1.98 1.67 1.65 1.57 1.42 1.37 1.07 0.85 0.48   1.99 2.03 2.20 2.39 2.19 2.61 2.35 2.60 2.55 2.49   2.23 2.29 2.27 2.62 2.72 2.82 3.13 3.49 3.82 3.95   2.07 2.17 2.21 2.31 2.10 2.09 2.12 1.63 1.78 1.52   2.18 2.43 2.40 2.43 2.65 2.75 2.67 2.66 2.63 2.75   -0.10 -0.21 0.01 0.05 -0.13 -0.23 -0.21 -0.43 -0.57 -0.44   -0.16 0.01 0.10 0.16 0.05 0.35 0.19 0.50 0.74 1.03   2.09 2.31 2.72 2.77 2.78 2.97 3.00 3.51 3.43 3.58  

Пример выполнения:

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

 

Таблица 2.2

0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 2.05 1.94 1.92 1.87 1.77 1.74 1.71 1.60 1.56 1.40

 



Для аппроксимации функции с одной переменной используем среду MATLAB. Командой fuzzy из режима командной строки запускается интерфейсная программа пакета Fuzzy Logic (Нечеткая логика) – редактор нечеткой системы вывода FIS (Fuzzy Inference System).

В меню File (Файл) выбираем опцию New Sugeno FIS (новая система типа Sugeno), появится окно редактора (рис. 4.1). В появившемся окне существуют поля входной, выходной функции и редактора правил. Необходимо переименовать блоки input1 в x, output1 в y.

 

Рис. 4.1. Окно редактора функции

 

В блоке параметров нечеткой системы типа Sugeno задаются:

· меню And method позволяет установить реализации логической операции И: min – минимум и prod – алгебраической произведение (см. раздел 4.2.1);

· меню Or method позволяет установить реализации логической операции ИЛИ: max – максимум и probor – алгебраическая сумма (см. раздел 4.2.1);

· меню Defuzzification позволяет выбрать один из методов дефаззификации: wtaver – метод взвешенного среднего, при котором или wtsum – метод взвешенной суммы, при котором , где – количество правил базы знаний.

При щелчке по блоку x (input1) откроем окно редактора функций принадлежности (рис. 4.2). Необходимо добавить функции принадлежности, для этого в меню Edit(Редактирование) выбираем опцию Add MFs (рис. 4.3). В появившемся диалоговом окне задается тип и количество функций принадлежности (9, далее добавляем еще 1 для того, чтобы получить 10 функций принадлежности). В качестве функций принадлежности выберем гауссовы функции (gaussmf). Затем в окне редактора функций принадлежности в поле Range (Диапазон) устанавливаем диапазон изменения значений х от 0 до 1, т.е. диапазон соответствующий табл. 4.2. Далее необходимо подвинуть графики заданных функций принадлежности, чтобы ординаты их максимумов совпадали с заданными значениями аргумента х. Для этого в поле Params(Параметры) задаем размах кривой и положение ее центра.

 

Рис. 4.2. Окно редактора функции принадлежности для х

 

Рис. 4.3. Окно добавления функций принадлежности

 

Далее необходимо задать функции принадлежности для у, щелкнув по блоку у и перейдя к редактору функций принадлежности (рис. 4.4). Добавим функции принадлежности (меню Edit Add MFs). В качестве функции принадлежности выбираются 10 констант, по числу различных значений yi в табл. 4.2. Таким образом сконструированная система является нечеткой системой типа Сугено 0-го порядка. В окне редактора функций принадлежности зададим значения функции у в поле Params.

В окне FIS-редактора (рис. 5.1), щелкнув по среднему блоку, откроем окно редактора правил (рис. 4.5).

При вводе правила необходимо обозначить соответствие между каждой функцией принадлежности аргумента х и числовым значением у.

 

Рис. 4.4. Окно редактора функций принадлежности для у

 

Существует возможность просмотра правил (рис. 4.6). Для этого выберем позицию меню View – rules. В левой части окна в графической форме представлены функции принадлежности аргумента х, в правой – переменной выхода у с пояснением механизма принятия решения. Вертикальная черта, пересекающая графики в левой части окна, позволяет изменять значения переменной входа, при этом соответственно изменяются значения у в правой части окна. Изменение аргумента путем перемещения вертикальной линии наглядно демонстрирует, как система определяет значения выхода.

 

Рис. 4.5. Окно редактора правил

 

Рис. 4.6. Окно просмотра правил

 

В результате была построена нечеткая система, которая решила задачу аппроксимации заданной табличной функции. В табл. 4.3 приведено сравнение выходов нечеткой системы с исходными значениями y (четвертый столбец в таблице – выходы нечеткой системы).

Как видно из табл. 4.3 максимальное отклонение выходов нечеткой системы от исходных данных составляет 0,02.

Выбрав в меню View – Surface, перейдем к окну просмотра поверхности выхода, в данном случае – к просмотру кривой у(х) (рис. 4.7).

 

Таблица 4.3

I xi
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 2.05 1.94 1.92 1.87 1.77 1.74 1.71 1.60 1.56 1.40 2.03 1.95 1.92 1.86 1.78 1.74 1.72 1.61 1.54 1.42 0.02 0.01 0.01 0.01 0.01 0.01 0.02 0.02

 

 

Рис. 4.7. График функции

 

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

 

Выводы (пример):

В результате выполнения лабораторной работы я познакомился с теоретическими сведениями о нечетких множествах, их свойствах, базах знаний, нечетком логическом выводе. В ходе выполнения лабораторной работы мною была построена нечеткая система с помощью пакета нечеткой логики Fuzzy Logic среды MATLAB, которая аппроксимирует заданную табличную функцию. Было произведено сравнение выходов нечеткой системы с заданными значениями y, в результате чего было установлено, что максимальное отклонение составило 0.02 (например, при х=0.1), что составляет 1.025%.

Контрольные вопросы

 

1. Дайте определение нечеткого множества.

2. Опишите этапы нечеткого логического вывода

3. Какой алгоритм вывода использовался при выполнении лабораторной работы? Опишите данный алгоритм.

4. В чем отличие использованного алгоритма от остальных существующих?

5. Какие типы функций принадлежности были использованы при выполнении лабораторной работы и почему?



<== предыдущая лекция | следующая лекция ==>
Разработка и программирование функциональной модели предметной области | Построение элементарной нечеткой экспертной системы


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.399 сек.