Uploaded by Александр Токаев

Laba 1

advertisement
МИНОБРНАУКИ РОССИИ
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ
ЭЛЕКТРОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
«ЛЭТИ» ИМ. В.И. УЛЬЯНОВА (ЛЕНИНА)
Кафедра ИИСТ
Отчёт
по лабораторной работе №1
по дисциплине «Математическое моделирование в приборных системах»
Тема: Исследование способов формирования нечетких множеств
и операции над ними
Студенты гр. 9586
Токаев А.С.
Мамонова Д.С.
Преподаватель
Краснова А.И.
Санкт-Петербург
2023
Цель работы
Изучить методы построения нечетких множеств с использованием
различных типов функций принадлежности. Ознакомиться с наиболее
распространенными логическими операциями над нечеткими множествами.
Обработка результатов эксперимента.
В качестве примера возьмём лазерный дальномер, который формирует и
изучает единичный импульс. Данный импульс отражается от цели и
регистрируется приёмным устройством в дальномере. Определение дальности
основано на вычислении времени при прохождении импульсом данного пути. И
в этом случае возникает вопрос: является цель, от которого пришёл импульс,
действительной или ложной. Данный вопрос хорошо описывает рисунок 1.
Рисунок 1 – Появление ложных целей при измерении лазерным
дальномером
Рассмотрим данный вопрос, используя функциональные принадлежности,
которые предлагает ПО Matlab. Дальномер регистрирует сигнал во временном
диапазоне от 300 нс до 200 мкс.
1) Функции принадлежности: trimf, trapmf.
К наиболее простым функциональным принадлежностям (ФП) можно
отнести треугольную и трапециевидную. В параметрическом виде она
представляет собой не что иное, как набор трех точек, образующих треугольник.
2
Описание функции:
y = trimf(x, [a b c]),
где вектор x – базовое множество, на котором определяется ФП, величины
a и с задают основание треугольника, b – его вершину.
В аналитическом виде треугольная ФП может быть задана следующим
образом:
0,
x−a
,
b
−
a
f(x, a, b, c) = c − x
,
c−b
{
0,
x < 𝑎,
a ≤ x ≤ b,
b ≤ x ≤ c,
x > 𝑐.
Программа использования ФП trimf имеет следующий вид.
tiledlayout(1,2);
nexttile
x=0:1:200000; % в наносекундах
y=trimf(x,[300 100000 200000]);
plot(x,y);
xlabel('trimf(x, P), P=[300 1000 200000]');
title('График треугольной ФП.');
nexttile
Описание функции трапециевидную ФП:
y = trapmf(x, [a b c d])
Аналитическая запись:
3
0,
x < 𝑎,
x−a
,
a ≤ x, < 𝑏,
b−a
1,
b < 𝑥 ≤ 𝑐,
f(x, a, b, c, d) =
d−x
,
c < 𝑥 ≤ 𝑑,
d−c
{
0,
x > 𝑑.
Программа использования ФП trapmf имеет следующий вид.
x=0:1:200000; % в наносекундах
y=trapmf(x,[300 100000 150000 200000]);
plot(x,y);
xlabel('trapmf(x, P), P=[300 100000 150000 200000]');
title('График трапециевидной ФП.');
График треугольной и трапециевидной ФП изображён на рисунке 2.
Рисунок 2 – График треугольной и трапециевидной ФП
2) Простая и двухсторонняя ФП Гаусса: gaussmf, gauss2mf.
Описание функции простой ФП Гаусса:
y = gaussmf(x, [σ, c]).
Симметричная функция Гаусса зависит от двух параметров σ и с:
𝑓(𝑥, σ, c) =
−(𝑥−𝑐)
e 2σ2 .
Программа использования ФП gaussmf.
x=0:1:200000; % в наносекундах
4
y=gaussmf(x,[3000 80000]);
plot(x,y);
xlabel('gaussmf(x, P), P=[3000 80000]');
title('Простая ФП Гаусса.');
Описание функции двухсторонней ФП Гаусса:
y = gauss2mf(x, [σ1 , c1, σ2 , c2, ]).
Программа использования ФП gauss2mf.
x=(0:1:200000)'; % в наносекундах
y1=gauss2mf(x,[3000 190000 15000 100000]);
y2=gauss2mf(x,[3000 160000 15000 120000]);
y3=gauss2mf(x,[3000 140000 15000 140000]);
y4=gauss2mf(x,[3000 120000 15000 160000]);
y5=gauss2mf(x,[3000 100000 15000 190000]);
plot(x,[y1,y2,y3,y4,y5]);
xlabel('gauss2mf (x, P), P=[ y1, y2, y3, y4, y5]');
title('Двухсторонняя ФП Гаусса.');
График простой и двухсторонней ФП Гаусса изображён на рисунке 3.
Рисунок 3 – График простой и двухсторонней ФП Гаусса
5
3) ФП «обобщенный колокол»: gbellmf
Её отличие от рассмотренных ранее ФП заключается в добавлении 3-его
параметра, что позволяет осуществлять плавный переход между нечёткими
множествами.
Описание функции:
y = gbellmf(x, [a b c]).
Аналитическая запись функции:
𝑓(𝑥, σ, c) =
1
,
𝑥 − 𝑐 2𝑏
1+|
|
𝑎
где с – определяет расположение центра ФП, a и b – оказывает влияние на форму
кривой.
Программа использования gbellmf.
x=0:1:200; % в микросекундах
y=gbellmf(x,[30 60 90]);
plot(x,y);
xlabel('gbellmf, P=[30 60 90]');
title('ФП «обобщенный колокол»');
График ФП «обобщенный колокол» изображён на рисунке 4.
6
Рисунок 4 – График ФП «обобщенный колокол»
4) Основная сигмоидная ФП (sigmf) и допольнительные (dsigmf и
psigmf).
Описание основной сигмоидной функции:
y = sigmf(x, [a c]).
Аналитическая запись функции:
𝑓(𝑥, 𝑎, c) =
1
1 + 𝑒 −𝑎(𝑥−𝑐)
,
Описание дополнительной сигмоидной функции:
y = dsigmf(x, [a1, c1, a2, c2 ]).
Описание дополнительной сигмоидной функции:
y = psigmf(x, [a1, c1, a2, c2 ]).
Программа использования сигмоидных функций:
figure (4)
x=0:0.1:20; % секунды в -7 степени
subplot(1,3,1);
7
y=sigmf(x,[2 10]);
plot(x,y);
xlabel('sigmf, P=[2 10]');
title('Сигмоидная функция');
subplot(1,3,2);
y=dsigmf(x,[4 1 6 8]);
plot(x,y);
xlabel('dsigmf, P=[4 1 6 8]');
title('Дополнительная сигмоидная функция');
subplot(1,3,3);
y=psigmf(x,[1 2 -4 9]);
plot(x,y);
xlabel('psigmf, P=[1 2 -4 9]');
title('Дополнительная сигмоидная функция');
График ФП «обобщенный колокол» изображён на рисунке 5.
wz
Рисунок 5 – График ФП «обобщенный колокол»
Возможность формирования ФП на основе полиномиальных кривых.
Соответствующие функции называются Z - функции (zmf), PI - функции (pimf)
и S - функции (smf).
8
Описание Z - функции:
y = zmf(x,[a b]),
где a и b определяют экстремальные значения кривой.
Описание PI - функции:
y = pimf(x,[a b c d]),
где a и d определяют переход функции в нулевое значение, а параметры b и c в единичное.
Описание S - функции:
y = smf(x,[a b]),
где a и b определяют экстремальные значения кривой.
График ФП на основе полиномиальных кривых изображён на рисунке 6.
Рисунок 6 – График ФП на основе полиномиальных кривых
5)
Операции с нечеткими множествами.
9
Описание конъюнктивной функции:
y = min([y1 ; y2 ]).
Описание дизъюнктивной функции:
y = max([y1 ; y2 ]).
Программа использования операций min и max:
x=0:0.1:200; % в микросекундах
subplot(1,2,1);
y1=gaussmf(x,[50 90]);
y2=gaussmf(x,[60 140]);
y3=min([y1;y2]);
plot(x,[y1;y2],':');
hold on;
plot(x,y3);
title('Конъюнктивной функции');
hold off;
subplot(1,2,2);
y4=max([y1;y2]);
plot(x,[y1;y2],':');
hold on;
plot(x,y4);
title('Дизъюнктивной функции');
hold off;
График конъюнктивной и дизъюнктивной функции изображён на
рисунке 7.
Рисунок 7 – График конъюнктивной и дизъюнктивной функции
Пунктирной линией на графиках изображены исходные ФП, а сплошной
линией – результат действия логических операторов.
10
6) Вероятностные операторы конъюнкции и дизъюнкции.
Описание функции:
y = prod([y1 ; y2 ]).
Описание функции:
y = probor([y1 ; y2 ]).
Программа использования вероятностных операторов конъюнкции и
дизъюнкции:
x=0:0.1:200; % в микросекундах
subplot(1,2,1);
y1=gaussmf(x,[50 90]);
y2=gaussmf(x,[60 140]);
y3=prod([y1;y2]);
plot(x,[y1;y2],':');
hold on;
plot(x,y3);
title('Пересечение');
hold off;
subplot(1,2,2);
y4=probor([y1;y2]);
plot(x,[y1;y2],':');
hold on;
plot(x,y4);
title('Объединение');
hold off;
График пересечения и объединения изображён на рисунке 8.
11
Рисунок 8 – График пересечения и объединения
7) Операция дополнения.
Описание функции дополнения:
Y = 1 − y∗,
где y ∗ - исходная ФП.
Программа использования операции дополнения:
x=0:0.1:200; % в микросекундах
y1=gaussmf(x,[60 140]);
y=1-y1;
plot(x,y1,':');
hold on;
plot(x,y);
hold off;
График пересечения и объединения изображён на рисунке 9.
12
Рисунок 9 – График пересечения и объединения
Вывод
В данной лабораторной работе были изучены и проверены 10 встроенных
типов ФП. При использовании trimf и trapmf вычисляется нечеткие значения
членства с помощью треугольной или трапециевидной функции. При
использовании gaussmf и gauss2mf вычисляется нечеткие значения членства с
помощью Гауссовой функции принадлежности или двух Гауссовых функций
принадлежности в случае второй функции. При использовании gbellmf
вычисляется
нечеткие
колоколообразной
значения
функции
членства
принадлежности,
с
помощью
аналогично
обобщенной
с
основной
сигмоидной ФП (sigmf), допольнительными (dsigmf и psigmf), Z - функции (zmf),
PI - функции (pimf) и S - функции (smf). Также были изучены и проверены
вероятностные операторы конъюнкции и дизъюнкции, а также операция
дополнения. Используя данные функции, можно вероятностно определить, в
какой степени цель является действительной опираясь на время отклика
лазерного импульса.
13
14
Download