Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Основы нечеткого моделирования в среде Matlab. Учебное пособие
.pdf
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
Результаты опроса экспертов
[195,
200)
0
0 1 0
0 1 0
0 1 0
0 1 0
0 1 0
0
1
[190,
195)
0
0 1 0
0 1 0
0 1 0
0 1 0
0 1 0
0
1
[185,
190)
0
0 1 0
0 1 0
1 1 0
1 0 0
0 1 0
0
1
[180,
185)
0
1 0 0
0 1 0
1 0 0
1 0 0
0 1 0
0
1
[175,
180)
0
1 0 0
1 0 0
1 0 0
1 0 0
1 1 0
0
1
[170,
175)
1
1 0 1
1 0 0
1 0 1
1 0 0
1 0 0
1
1
[165,
170)
1
0 0 1
0 0 0
1 0 1
0 0 1
1 0 0
1
0
[160,
165)
1
0 0 1
0 0 1
0 0 1
0 0 1
0 0 1
0
0
[155,
160)
1
0 0 1
0 0 1
0 0 1
0 0 1
0 0 1
0
0
Терм
Низкий
Средний
Высокий
Низкий
Средний
Высокий
Низкий
Средний
Высокий
Низкий
Средний
Высокий
Низкий
Средний
Высокий
Низкий
Средний
Высокий
Эксперт 1
Эксперт 2
Эксперт 3
Эксперт 4
Эксперт 5
Эксперт 6
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
