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

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

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
11
b
a
cx
)c,b,a,x(f
2
1
1
0 1 2 3 4 5 6 7 8 9 10
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Ниже приведен фрагмент программы использования ФП gauss2mf на языке пакета Matlab.
x=(0: 0.1: 10)’; %Задается базовое множество y1=gauss2mf(x,[2 4 1 8]); %Определяется двухсторонняя
%ФП Гаусса y2=gauss2mf(x,[2 5 1 7]); y3=gauss2mf(x,[2 6 1 6]); y4=gauss2mf(x,[2 7 1 5]); y5=gauss2mf(x,[2 8 1 4]); plot(x,[y1 y2 y3 y4 y5]); %Выводится график функции
Следует отметить, что базовое множество задается
транспонированным вектором.
В аналитическом виде ФП «обобщенный колокол»
может быть задана следующим образом (рис. 1.5):
. (1.8)
Для описания ФП «обобщенный колокол» в среде
MatLab используется оператор gbellmf (generalized bell shape membership function):
Рис. 1.5. ФП «обобщенный колокол»
12
)cx(a
e
)c,a,x(f
1
1
0 5 10
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 5 10
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
y = gbellmf(x, [a b c]), (1.9)
где вектор x базовое множество, на котором определяет­ся ФП; a и b параметры, влияющие на форму кривой; c параметр, определяющий расположение центра ФП.
Функции принадлежности на основе ФП Гаусса и ФП
«обобщенный колокол» отличаются гладкостью, просто­той записи и являются широко используемыми при описа­нии нечетких множеств. Для формирования асимметрич­ных ФП используются сигмоидные функции, которые мо­гут быть открыты либо слева, либо справа, в зависимости от типа функции.
В аналитическом виде сигмоидная ФП может быть
задана следующим образом (рис. 1.6):
. (1.10)
Рис. 1.6. Сигмоидные ФП: a основная односторонняя
при a= 2; б основная односторонняя при a=2
а б
13
12
)c,a,x(f)c,a,x(f
222111
Для описания основной сигмоидной ФП в среде
MatLab используется оператор sigmf, а для дополнитель- ных операторы dsigmf и psigmf.
y = sigmf(x, [a c]). (1.11)
Как видно из рис. 1.6, в зависимости от знака пара­метра a рассматриваемая ФП будет открыта справа или слева.
Ниже приведен фрагмент программы использования основной сигмоидной ФП sigmf на языке пакета Matlab.
x=0: 0.1: 10; %Задается базовое множество subplot(1,2,1); %Формируется матрица графиков
%(
), первый элемент – текущий y=sigmf(x,[-2 4]); plot(x,y); %Выводится график функции в
%первый элемент матрицы
subplot(1,2,2); %Выбирается второй текущий
%элемент y=sigmf(x,[2 4]); plot(x,y); %Выводится график функции во
%второй элемент матрицы
Для использования дополнительной сигмоидной ФП
dsigmf применяется выражение
y = dsigmf(x, [a1, c1, a2, c2]), (1.12)
где вектор x базовое множество, на котором определяет­ся ФП.
Данная ФП зависит от параметров a1, c1, a2, c2 и оп-
ределяется как разность двух сигмоидных функций
(рис. 1.7, а).
Для использования дополнительной сигмоидной ФП
psigmf применяется выражение:
y = psigmf(x, [a1, c1, a2, c2]), (1.13)
где вектор x базовое множество, на котором определяет­ся ФП.
14
)c,a,x(f)c,a,x(f
222111
0 5 10
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 5 10
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
12
Данная ФП зависит от параметров a1, c1, a2, c2 и оп-
ределяется как произведение двух сигмоидных функций
(рис. 1.7, б).
а б
Рис. 1.7. Сигмоидные ФП: a дополнительная
двухсторонняя; б дополнительная несимметричная
Ниже приведен фрагмент программы использования
дополнительных сигмоидных ФП dsigmf, psigmf на языке пакета Matlab.
x=0: 0.1: 10; %Задается базовое множество subplot(1,2,1); %Формируется матрица графиков
y=dsigmf(x,[4 3 4 7]); plot(x,y); %Выводится график функции в
subplot(1,2,2); %Выбирается второй текущий
%(
%первый элемент матрицы
), первый элемент – текущий
15
%элемент y=psigmf(x,[2 3 -5 7]); plot(x,y); %Выводится график функции во
%второй элемент матрицы
Рассмотрим ФП на основе полиномиальных кривых:
Z-функция (опертор zmf), PI-функция (оператор pimf), S­функция (оператор smf).
Z-функция в параметрическом виде представляет со-
бой асимметричную полиномиальную кривую, открытую слева, определяемую выражением
y = zmf(x, [a b]), (1.14)
где вектор x базовое множество, на котором определяет­ся ФП; a и b параметры, определяющие экстремальные
значения кривой (рис. 1.8, а).
PI -функция в параметрическом виде представляет
собой полиномиальную кривую, равную нулю в правом и левом пределах и принимающую значение, равное едини­це, в середине некоторого отрезка
y = pimf(x, [a b c d]), (1.15)
где вектор x базовое множество, на котором определяет­ся ФП; a и d параметры, задающие переход функции в нулевое значение, b и c в единичное значение (рис. 1.8, б).
S -функция в параметрическом виде представляет со-
бой асимметричную полиномиальную кривую, открытую справа (зеркальное отображение функции zmf), определяе­мую выражением
y = smf(x, [a b]), (1.16)
где вектор x базовое множество, на котором определяет­ся ФП; a и b параметры, определяющие экстремальные значения кривой (рис. 1.8, в).
16
0 5 10
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 5 10
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 5 10
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
13
а б в
Рис. 1.8. Полиномиальные ФП: a Z-функция;
б PI –функция; в  S -функция
Ниже приведен фрагмент программы использования
Z-функции, PI-функция, S-функции на языке пакета
Matlab. x=0: 0.1: 10; %Задается базовое множество subplot(1,3,1); %Формируется матрица графиков
y=zmf(x,[3 8]);
%(
), первый элемент – текущий
plot(x,y); %Выводится график функции в
subplot(1,3,2); %Выбирается второй текущий
%первый элемент матрицы
%элемент y=pimf(x,[1 4 5 10]); plot(x,y); %Выводится график функции во
%второй элемент матрицы
17
}l,...,l,l{L
m21
}u,...,u,u{U
n21
l
~
m,j,
u
)u(
,...,
u
)u(
,
u
)u(
l
~
n
nlll
j
jjj
1
2
2
1
1
 
)u(
il
j
m,j 1
n,i 1
subplot(1,3,3); %Выбирается третий текущий
%элемент y=smf(x,[3 8]); plot(x,y); %Выводится график функции в
%третий элемент матрицы
1.2. Методы построения функций принадлежности по экспертным данным
Рассмотрим следующие два метода построения ФП:
на основе статистической обработки мнений группы экс­пертов и парных сравнений, выполняемых одним экспер­том [6].
Использование теории нечетких множеств на практи-
ке предполагает наличие ФП, которыми описываются лин­гвистические термы: «очень низкий», «низкий», «сред­ний», «высокий», «очень высокий» и т.п.
Задача построения ФП состоит в следующем. Даны
два множества: множество термов
и уни-
версальное множество ство
для задания лингвистического терма lj на универ-
. Нечеткое множе-
сальном множестве U представляется в виде
. (1.17)
Необходимо определить степени принадлежностей
элементов множества U к элементам из множества L, т.е. найти
для всех
и
.
18
n,i 1
j
l
~
m,j 1
1
u
2
u
…
n
u
1
l
~
2
l
~
…
m
l
~
k
i,j
b
j
l
~
K,k 1, n,i 1
m,j 1
}10{ ;b
k
i,j
j
l
~
j
l
~
K,k
k
i,jil
b
K
u
j
1
1
)(
1.2.1. Метод построения функций принадлежности
на основе статистической обработки мнений
группы экспертов
При построении ФП по данному методу каждый экс-
перт заполняет таблицу, в которой указывает свое мнение о наличии у элементов ui ( жества
(
). Результаты опроса экспертов имеют
) свойств нечеткого мно-
следующий вид (табл. 1.1.):
Таблица 1.1
Результаты опроса экспертов
Введем обозначения: K количество экспертов;
мнение k-го эксперта о наличии у элемента ui свойств не­четкого множества
пертные оценки наличие у элемента ui свойств нечеткого множества
,
,
бинарные (1 указывает на
. Пусть экс-
, 0
на отсутствие свойств). Тогда степени принадлежности не­четкому множеству
рассчитываются по результатам ан-
кетирования следующим образом:
. (1.18)
Рассмотрим пример построения ФП термов «низ-
кий», «средний», «высокий», используемых для лингвис-
19
)(ilu
j
0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1
160 165 170 175 180 185 190 195 200
Рост человека, см
низкий
средний
высокий
тической переменной «рост человека». Результаты опроса шести экспертов сведены в табл. 1.2.
Результаты обработки экспертных мнений сведены в
табл. 1.3, где N количество голосов, отданных эксперта­ми за принадлежность нечеткому множеству соответст-
вующего элемента универсального множества,
степени принадлежности, рассчитанные по формуле (1.18).
Графики ФП термов «низкий», «средний», «высо-
кий», используемых для лингвистической переменной «рост человека», показаны на рис. 1.9.
Рис. 1.9. Функции принадлежности лингвистической
переменной «рост человека»
20
Таблица 1.2
Результаты опроса экспертов
0 1 0
0 1 0
0 1 0
0 1 0
0 1 0
0 1 0
0 1 0
0 1 0
0 1 0
0 1 0
0 1 0
0 1 0
1 1 0
1 0 0
0 1 0
1 0 0
0 1 0
1 0 0
1 0 0
0 1 0
1 0 0
1 0 0
1 0 0
1 0 0
1 1 0
1 0 1
1 0 0
1 0 1
1 0 0
1 0 0
0 0 1
0 0 0
1 0 1
0 0 1
1 0 0
0 0 1
0 0 1
0 0 1
0 0 1
0 0 1
0 0 1
0 0 1
0 0 1
0 0 1
0 0 1
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]