Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Основы нечеткого моделирования в среде Matlab. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
31
1.4. Содержание отчета
1. Титульный лист.
2. Цель работы.
3. Постановка задачи.
4. Результаты каждого этапа выполнения работы.
5. Выводы по каждому пункту заданий и общий вы-
вод по всей работе.
Контрольные вопросы
1. Что такое нечеткое множество и каково его отли-
чие от обычного (четкого) множества?
2. Что такое функции принадлежности?
3. Перечислите основные типы функций принадлеж-
ности нечетких множеств в среде Matlab?
4. В чем особенности метода построения функций
принадлежности на основе статистической обработки мне­ний группы экспертов?
5. В чем особенности метода построения функций принадлежности на основе парных сравнений, выполняе­мых одним экспертом?
6. Что называется мерой несогласованности парных сравнений экспертов?
7. Какими свойствами обладает матрица парных сравнений при согласованных мнениях экспертов?
32
2. ЛАБОРАТОРНАЯ РАБОТА №2
Тема: Изучение возможностей нечеткого моделиро-
вания в среде Matlab.
Цель работы: Получить начальные сведения о среде нечеткого моделирования Matlab Fuzzy Logic Toolbox и на­выки работы с ней.
Содержание работы:
1. Изучение пакета Fuzzy Logic Toolbox.
2. Изучение методики разработки нечетких моделей в
среде Matlab.
3. Изучение методов анализа нечетких моделей с
применением графических средств пакета Fuzzy Logic Toolbox.
2.1. Основные теоретические сведения
Для реализации процесса нечеткого моделирования в среде Matlab предназначен специальный пакет расширения Fuzzy Logic Toolbox. В рамках пакета Fuzzy Logic Toolbox можно выполнять действия по разработке и использова­нию нечетких моделей в одном из следующих режимов:
в интерактивном режиме с помощью графических средств редактирования и визуализации всех компонентов систем нечеткого вывода;
в режиме команд с помощью ввода имен соответст- вующих функций с необходимыми аргументами непосред­ственно в окно команд системы Matlab.
При выполнении лабораторной работы будут исполь­зоваться графические средства, входящие в пакет Fuzzy
Logic Toolbox.
33
Для разработки системы нечеткого вывода в интерак­тивном режиме используются следующие графические средства пакета Fuzzy Logic Toolbox:
редактор систем нечеткого вывода FIS,
редактор функций принадлежности системы нечет-
кого вывода Membership Function Editor,
редактор правил системы нечеткого вывода Rule Editor,
программа просмотра правил системы нечеткого вывода Rule Viewer,
программа просмотра поверхности системы нечет- кого вывода Surface Viewer.
Редактор FIS обладает графическим интерфейсом и позволяет вызывать все другие редакторы и программы просмотра систем нечеткого вывода.
В верхней части рабочего интерфейса редактора FIS изображается диаграмма, представляющая в визуальной форме входы и выходы системы нечеткого вывода, в цен­тре которых находится так называемый процессор нечет­ких правил.
Редактор FIS имеет главное меню, которое позволяет вызывать для работы графические средства. Операции главного меню редактора FIS подробно описаны в прило­жении.
Каждая модель в среде Matlab представляется в фор­ме отдельного проекта.
В проектах могут быть использованы различные ти­пы функций принадлежности термов лингвистических пе­ременных (11 встроенных типов ФП были рассмотрены ранее в п. 1.1).
Каждый из типов функции принадлежности может иметь одну из форм, приведенных ниже:
- кусочно-линейная форма (L-shape), которая пред-
полагает представление функции принадлежности в форме
34
ii
i {1,2..m}
i {1,2..m}
B=(1-λ)* min {μ(a )}+λ* max {μ(a )}
треугольной, трапециевидной функции или их некоторой комбинации.
- S-образная форма (S-shape), которая предполагает
представление функции принадлежности в форме некото­рой S-образной, Z-образной или П-образной кривой.
В проектах могут быть использованы различные ме­тоды агрегирования, композиции, аккумуляции и дефаззи­фикации полученных результатов нечеткого вывода [8, 9]. Для агрегирования подусловий правил нечетких продук­ций можно использовать один из следующих вариантов:
- min-max – для логического нечеткого «И» исполь-
зуется операция минимума (логическая конъюнкция не­четких высказываний). Результат операции определяется по формуле
T(AB)=min(T(A), T(B)), (2.1)
где Т – степень истинности операции логического нечет­кого «И»; A, В – нечеткие множества.
Для логического нечеткого «ИЛИ» используется операция максимума (логическая дизъюнкция нечетких высказываний). Истинность результата определяется по формуле
T(AB)=max(T(A), T(B)). (2.2)
Для логического отрицания «НЕ» используется опе­рация разности. Истинность результата определяется по формуле
T(A)=1-T(A). (2.3)
Результат агрегирования подусловий определится по формуле
где – компенсационный параметр, [0, 1]; – функции принадлежности.
- min-avg – для логического нечеткого «И» использу-
ется операция минимума (2.1), для логического нечеткого
, (2.4)
35
m
i
i
i {1,2..m}
i=1
μ(a )
B=(1-λ)* min {μ(a )}+λ*
m

mm
1-γγ
ii
i=1 i=1
B=( μ(a )) *(1- (1-μ(a )))
«ИЛИ» – арифметическое среднее, для логического отри­цания «НЕ» – операция разности (1.3). Результат агрегиро­вания подусловий определится по формуле
, (2.5)
где m – количество функций принадлежности.
- gamma – для агрегирования подусловий правил не-
четких продукций используется следующая формула:
, (2.6)
где – количественный параметр компенсации, задавае­мый разработчиком из некоторых эвристических сообра-
жений [0, 1].
Для композиции заключений правил нечетких про­дукций может использоваться один из следующих вариан­тов задания весовых коэффициентов правил:
стандартный, при котором значение весового ко­эффициента (weight) для каждого правила предполагается неизменным и равным 1;
определяемый пользователем, при котором значе­ние весового коэффициента (weight) для каждого правила можно изменять в пределах интервала [0, 1].
Для аккумуляции заключений правил нечетких про­дукций может использоваться один из следующих мето­дов:
обычный метод (max), при котором результат нечет­кого вывода в блоке правил нечетких продукций определя­ется как объединение нечетких множеств по формуле (1.2);
метод граничной суммы (bsum), при котором ре­зультат нечеткого вывода в блоке правил нечетких про­дукций определяется как объединение нечетких множеств:
T(AB)=min(T(A) + T(B), 1). (2.7)
В проектах могут быть использованы следующие ме-
max
min
max
min
x*μ(x)dx
y=
μ(x)dx

y
max
min y
μ(x)dx= μ(x)dx
тоды дефазификации выходных переменных:
стандартный метод (Center-of-Maximum ─ СоМ)
метод центра площади (Сеntrе-оf-Аrеа – СоА).
Итоговое количественное значение y определяется из фор­мулы
метод среднего максимума (Mean-of-Maximum – МоМ). Итоговое количественное значение y определяется как арифметическое среднее между левым (2.10) и правым (2.11) модальными значениями, при этом в качестве мо­дального значения (моды) нечеткого множества рассмат­ривается максимальное значение ее функции принадлеж­ности (1.12).
метод гиперцентра максимума (НуреrCenter-of- Maximum – HyperCoM). С использованием этого метода
учитываются положительные и отрицательные результаты нечетких выводов и в соответствии с этим формируется некоторое оптимальное значение для выходных перемен­ных.
36
; (2.8)
; (2.9)
y = min(xm), (2.10)
y = max(xm), (2.11)
xm = argmax{(x)} , х[а, b]. (2.12)
37
Кондиционер
Датчики
Температура
Скорость изменения
температуры
ПОМЕЩЕНИЕ
Нечеткий
контроллер
Угол положения
регулятора
температуры
2.2. Пример разработки модели в среде Matlab
2.2.1. Постановка задачи
Рассмотрим порядок построения модели в среде Matlab Fuzzy Logic Toolbox на примере задачи управления кондиционером [10]. Задача состоит в том, чтобы разрабо­тать модель регулятора кондиционера для поддержания температуры в помещении. На рис. 2.1 представлена структура системы управления кондиционером.
Рис. 2.1. Структура системы управления кондиционером
духа и скорости ее изменения поступает на вход нечеткого контроллера. Опыт использования бытовых кондиционе­ров показывает, что процесс охлаждения или нагревания воздуха в помещении обладает некоторой инерционно-
Информация с датчиков о текущей температуре воз-
38
Блок
фаззификации
Блок
логического
вывода
База
правил
Блок
дефаззифи-
кации
Входные
сигналы
Выходные
сигналы
стью. А именно, после включения режима «холод» проис­ходит нагнетание холодного воздуха, и температура возду­ха в помещении постепенно падает. При этом в момент от­ключения этого режима температура продолжает падать в течение небольшого, но конечного промежутка времени. Аналогичная картина наблюдается при включении и от­ключении режима «тепло». Допустим, что включение ре­жима «холод» осуществляется поворотом рукоятки регу­лятора влево, включение режима «тепло» осуществляется поворотом рукоятки регулятора вправо относительно не­которой средней точки, в которой кондиционер выключен.
Чтобы учесть эту особенность процесса управления кондиционером и исключить дополнительные затраты, связанные с частым включением и выключением указан­ных режимов, необходимо рассматривать в качестве вход­ного параметра не только температуру воздуха в помеще­нии, но и скорость ее изменения.
Структура нечеткого контроллера приведена на рис. 2.2.
Рис. 2.2. Структура нечеткого контроллера
Выходные сигналы с объекта управления (обычно токи или напряжения) переводятся в значения лингвисти­ческих переменных в блоке фаззафикации (БФ). В блоке логического решения (БЛР) реализуются процедуры не-
39
четкого вывода на множестве продукционных правил, со­ставляющих базу правил (БП) системы управления. Сфор­мированные выходные лингвистические значения перево­дятся в точные величины в блоке дефаззификации (БД). Выходом контроллера является требуемый угол поворота регулятора температуры.
Эмпирические знания о процессе управления конди­ционером могут быть представлены в форме эвристиче­ских правил, которые применяются в случае ручного регу­лирования температуры воздуха в помещении с кондицио­нером:
1. Если температура воздуха в помещении очень теп-
лая и скорость изменения температуры положительная, то следует включить режим «холод», повернув регулятор кондиционера на очень большой угол влево.
2. Если температура воздуха в помещении очень теп-
лая и скорость изменения температуры отрицательная, то следует включить режим «холод», повернув регулятор кондиционера на небольшой угол влево.
3. Если температура воздуха в помещении теплая и
скорость изменения температуры положительная, то сле­дует включить режим «холод», повернув регулятор конди­ционера на большой угол влево.
4. Если температура воздуха в помещении теплая и
скорость изменения температуры отрицательная, то кон­диционер следует выключить.
5. Если температура воздуха в помещении очень хо-
лодная и скорость изменения температуры отрицательная, то следует включить режим «тепло», повернув регулятор кондиционера на очень большой угол вправо.
6. Если температура воздуха в помещении очень хо-
лодная и скорость изменения температуры положительная, то следует включить режим «тепло», повернув регулятор кондиционера на небольшой угол вправо.
40
7. Если температура воздуха в помещении холодная и
скорость изменения температуры отрицательная, то следу­ет включить режим «тепло», повернув регулятор конди­ционера на большой угол вправо.
8. Если температура воздуха в помещении холодная и
скорость изменения температуры положительная, то кон­диционер следует выключить.
9. Если температура воздуха в помещении очень теп-
лая и скорость изменения температуры равна нулю, то следует включить режим «холод», повернув регулятор кондиционера на большой угол влево.
10. Если температура воздуха в помещении теплая и
скорость изменения температуры равна нулю, то следует включить режим «холод», повернув регулятор кондицио­нера на небольшой угол влево.
11. Если температура воздуха в помещении очень хо-
лодная и скорость изменения температуры равна нулю, то следует включить режим «тепло», повернув регулятор кондиционера на большой угол вправо.
12. Если температура воздуха в помещении холодная
и скорость изменения температуры равна нулю, то следует включить режим «тепло», повернув регулятор кондицио­нера на небольшой угол вправо.
13. Если температура воздуха в помещении в преде-
лах нормы и скорость изменения температуры положи­тельная, то следует включить режим «холод», повернув регулятор кондиционера на небольшой угол влево.
14. Если температура воздуха в помещении в преде-
лах нормы и скорость изменения температуры отрицатель­ная, то следует включить режим «тепло», повернув регуля­тор кондиционера на небольшой угол вправо.
15. Если температура воздуха в помещении в преде-
лах нормы и скорость изменения температуры равна нуля, то кондиционер следует выключить.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]