Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Основы нечеткого моделирования в среде Matlab. Учебное пособие
.pdf
41
Символиче-
ское обозна-
чение
Англоязычная нотация
Русскоязычная
нотация
NB
Negative Big
Отрицательное большое
NM
Negative Middle
Отрицательное среднее
NS
Negative Small
Отрицательное малое
При этом температура воздуха измеряется в градусах
Цельсия, скорость изменения температуры воздуха в
градусах Цельсия в минуту, а угол поворота в угловых
градусах. В последнем случае поворот регулятора вправо
означает включение режима «тепло» и положительное направление отсчета, а поворот влево включение режима
«холод» и отрицательное направление отсчета.
1.2.2. Построение модели управления кондиционером
Для формирования базы правил систем нечеткого
вывода необходимо предварительно определить входные и
выходные лингвистические переменные (ЛП).
Определим входную ЛП Р1 «Температура воздуха в
помещении», терм-множество которой имеет вид
T(Р1)={Р11,Р12,Р13,Р14,Р15}, где: Р11 «Очень низкая температура»; Р12 «Низкая температура», Р13 «Нормальная
температура»; Р
«Высокая температура», Р15 «Очень
14
высокая температура». Диапазон изменения температуры
воздуха примем от 0 до 40С.
Для удобства записи применяют специальные сокращения для наименования отдельных термов входных и выходных лингвистических переменных в системах нечеткого вывода (табл. 2.1).
Таблица 2.1
Общепринятые сокращения для значений основных
термов лингвистических переменных

42
Символиче-
ское обозна-
чение
Англоязычная нотация
Русскоязычная
нотация
ZN
Zero Negative
Отрицательное, близкое к
нулю
Z
Zero
Нуль, близкое к нулю
ZP
Zero Positive
Положительное, близкое к
нулю
PS
Positive Small
Положительное малое
РМ
Positive Middle
Положительное среднее
РВ
Positive Big
Положительное большое
0
1
0
10
20
30
40
NB NS Z PS PB
Окончание табл. 2.1
Тогда в символьном виде лингвистическая переменная «Температура воздуха в помещении» примет вид
Р1 = {NB, NS, Z, PS, PB}.
Графическое представление функций принадлежности ЛП «Температура воздуха в помещении» на базовом
множестве Х1={0...40} показано на рис. 2.3.
Рис. 2.3. Функции принадлежности
ЛП «Температура воздуха в помещении»

43
0
1
TºC
в мин
NS Z PS
0 1 2
3-1-2
-3
-4
4
Определим входную ЛП Р2 «Скорость изменения
температуры воздуха», терм-множество которой имеет
вид T(Р2)=(Р21,Р22,Р23), где Р21 «Отрицательная»;
Р22 «Равна нулю»; Р23 «Положительная» или в симво-
лическом виде:
Р2={NS, Z, PS}.
Диапазон изменения скорости температуры примем от
4 до +4С.
Графическое представление функций принадлежностей ЛП «Скорость изменения температуры воздуха» на
базовом множестве Х2={-4...4} приведено на рис. 2.4.
Рис. 2.4. Функции принадлежности
ЛП «Скорость изменения температуры воздуха»
Определим выходную ЛП Р3 «Угол поворота руко-
ятки регулятора», терм-множество которой имеет вид
T(Р3)={Р31,Р32,Р33,Р34, Р35,Р36,Р37}, где Р31 «Очень большой угол влево», Р32 «Большой угол влево»,
Р33 «Небольшой угол влево», Р34 «Выключить кондиционер», Р35 «Небольшой угол вправо», Р36 «Большой
угол вправо», Р37 «Очень большой угол вправо». Или в

44
0
1
NB
NS
Z PS
PB
NM
PM
0
-90º
-45º 45º
90º
символическом виде Р3={NB, NM, NS, Z, PS, РМ, РВ}, где
NB отрицательное большое, NM отрицательное среднее, NS отрицательное малое, Z близкое к нулю, PS
положительное малое, РМ положительное среднее, PB
положительное большое. Диапазон изменения угла поворота рукоятки регулятора примем от 90 до +90.
Графическое представление функций принадлежности ЛП «Угол поворота регулятора» на базовом множестве Х3={-90...90}, приведено на рис. 2.5.
Рис. 2.5. Функции принадлежности
ЛП «Угол поворота регулятора»
В соответствии с определенными выше входными и
выходными лингвистическими переменными и заданными
в п. 2.2.1 эвристическими правилами, сформируем нечеткую базу правил (табл. 2.2).
R1: если Р1 есть РВ и Р2 есть РS, тогда Р3 есть NB;
R2: если Р1 есть РВ и Р2 есть NS, тогда Р3 есть NS;
R3: если Р1 есть РS и Р2 есть РS, тогда Р3 есть NM;
R4: если Р1 есть РS и Р2 есть NS, тогда Р3 есть Z;
R5: если Р1 есть NВ и Р2 есть NS, тогда Р3 есть PB;

45
№
Температура
воздуха
Скорость из-
менения
Угол поворота
1
PB
PS
NB 2 PB
NS
NS 3 PB
Z
NM 4 PS
PS
NM 5 PS
NS
Z 6 PS
Z
NS 7 NB
PS
PM 8 NB
NS
PS 9 NB
Z
PM
10
NS
PS
PM
11
NS
NS
Z
12
NS
Z
PS
13 Z PS
NS
14 Z NS
PS
15 Z Z
Z
R6: если Р1 есть NВ и Р2 есть РS, тогда Р3 есть PS;
R7: если Р1 есть NS и Р2 есть NS, тогда Р3 есть PM;
R8: если Р1 есть NS и Р2 есть РS, тогда Р3 есть Z;
R9: если Р1 есть РВ и Р2 есть Z, тогда Р3 есть NM;
R10: если Р1есть РS и Р2 есть Z, тогда Р3есть NS;
R11: если Р1 есть NB и Р2есть Z, тогда Р3есть PM;
R12: если Р1 есть NS и Р2 есть Z, тогда Р3есть PS;
R13: если Р1 есть Z и Р2есть PS, тогда Р3есть NS;
R14: если Р1есть Z и Р2есть NS, тогда Р3есть PS;
R15: если Р1 есть Z и Р2 есть Z, тогда Р3 есть Z.
Таблица 2.2
Таблица соответствия нечетких
параметров для управления кондиционером

46
2.2.3. Разработка модели регулирования
температуры в среде MatLab
Рассмотрим процесс построения модели в среде
Matlab. Нечеткое моделирование в среде Matlab осуществляется с использованием пакета Fuzzy Logic Toolbox, в котором реализованы функции нечеткой логики и нечеткого
вывода.
Процесс разработки системы нечеткого вывода в ин-
терактивном режиме состоит в выполнении следующей
последовательности действий.
Этап 1. На первом этапе необходимо вызвать редак-
тор систем нечеткого вывода FIS, для этого в окне команд
необходимо набрать имя функции fuzzy. После выполнения команды fuzzy на экране появится графический интерфейс редактора FIS с именем системы нечеткого вывода
Untitled и типом системы нечеткого вывода, предложенного по умолчанию (Мамдани) (рис. 2.6).
Рис. 2.6. Вид редактора FIS

47
Этап 2. Добавим в разрабатываемую систему FIS еще
одну входную переменную. Для этого следует выполнить
команду меню Edit>Add Variable...>Input. В результате
выполнения этой команды на диаграмме системы нечеткого вывода появится новый прямоугольник с именем второй
входной переменной input 2.
Этап 3. Для того чтобы изменить имена входных и
выходных переменных, предложенные системой по умолчанию, необходимо выполнить щелчок по прямоугольнику
с именем соответствующей переменной на диаграмме. После этого необходимо ввести новое имя переменной в поле
Name, расположенное в правой нижней части редактора
(рис. 2.7).
Рис. 2.7. Вид редактора FIS после
изменения имен переменных

48
Этап 4. Для изменения имени системы нечеткого вы-
вода, предложенного по умолчанию, сохраним создаваемую структуру FIS во внешнем файле с именем cond.fis
(File>Export>To Disk). Оставим без изменения предложен-
ные параметры, предложенные системой Matlab по умолчанию:
метод нечеткого логического «И» (And method)
значение "min",
- метод нечеткого логического «ИЛИ» (Or method)
значение "max",
метод импликации (Implication) значение "min",
метод агрегирования (Aggregation) значение
"mах",
метод дефаззификации (Defuzzification) значение
"centroid".
Этап 5. Определим термы и их функции принадлеж-
ности для входных и выходных переменных системы нечеткого вывода.
Для изменения термов лингвистических переменных
необходимо вызвать редактор функций принадлежности.
Для этого можно воспользоваться командой меню Ed-
it>Membership Functions или выполнить двойной щелчок
на значке прямоугольника с именем соответствующей лингвистической переменной.
Редактор функций принадлежности имеет главное
меню, которое позволяет пользователю вызывать графические средства работы с системой нечеткого вывода. Функции главного меню приведены в табл. 2.3.

Пункт
меню
Операции
Назначение
File
(файл)
New FIS
позволяет выбрать тип задаваемой
новой системы нечеткого вывода:
Mamdani типа Мамдани;
Sugeno типа Сугено
Import
позволяет загрузить в редактор FIS
существующую систему нечеткого
вывода одним из следующих способов:
From Workspace... из рабочего
пространства программы Matlab;
FromDisk... из внешнего файла
Export
позволяет сохранить редактируемую систему нечеткого вывода одним из следующих способов:
То Workspace... в рабочем пространстве программы Matlab;
То Disk... во внешнем файле
Print
позволяет распечатать редактируемую систему нечеткого вывода
Close
закрывает редактор FIS
Edit
Undo
отменяет выполнение последнего
действия
Add MF
позволяет добавить встроенную
функцию принадлежности термов
для выбранной переменной
Add Custom
MF
позволяет добавить пользовательскую функцию принадлежности
для отдельной переменной
Remove
Current MF
позволяет удалить отдельную
функцию принадлежности
49
Таблица 2.3
Главное меню редактора функции принадлежности

50
Пункт
меню
Операции
Назначение
Remove
АН MFs
позволяет удалить все функции
принадлежности для отдельной
переменной
FIS
Properties
вызывает редактор FIS
Rules
вызывает редактор правил нечеткого вывода
View
(Вид)
Rules
вызывает программу просмотра
правил нечеткого вывода
Surface
вызывает программу просмотра
поверхности нечеткого вывода
Окончание табл. 2.3
После вызова редактора функций принадлежности
каждой из переменных по умолчанию предлагается три
терма с треугольными функциями принадлежности. Для
редактирования функций принадлежности вначале необходимо задать диапазон определения значений переменной. Например, для переменной «температура воздуха»
для задания диапазона в полях ввода «Range» и «Display
Range» необходимо ввести значения [0 40] (рис. 2.8). Для
ЛП температуры воздуха количество терм-множеств равно
5, поэтому необходимо добавить еще две функции принадлежности.
Для добавления функции принадлежности воспользуемся командой меню Edit>AddMFs. В появившемся окне
(рис. 2.9) установим количество добавляемых функций
принадлежности, равным «2». Для удаления терма следует
выделить удаляемую функцию принадлежности и нажать
клавишу <Delete> на клавиатуре.
Изменим названия термов ЛП. Для изменения имени
терма необходимо выделить соответствующий график
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
