Решение задач нечеткой кластеризации в MATLAB
Автор: ilnur1996 • Ноябрь 29, 2019 • Лабораторная работа • 495 Слов (2 Страниц) • 482 Просмотры
Федеральное государственное бюджетное образовательное учреждение
высшего образования
«УФИМСКИЙ ГОСУДАРСТВЕННЫЙ АВИАЦИОННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»
Кафедра Информационно–измерительной техники
Лабораторная работа №2
«Решение задач нечеткой кластеризации в MATLAB»
Выполнили: ст. гр. П–406
Проверила: преподаватель
Уфа 2018
Цель работы:
Изучить возможности пакета FuzzyLogicToolbox системы MATLAB для решения задач нечеткой кластеризации с помощью специального графического интерфейса, а так же в режиме командной строки.
Ход работы
- Пример решения задачи нечеткой кластеризации с помощью функции fcm с использованием первого формата ее записи
load fcmdata.dat
plot(fcmdata(:,1),fcmdata(:,2),'o','color','k')
[center,U,obj_fcn] = fcm(fcmdata,2);
maxU = max(U); index1 = find(U(1,:)== maxU);
index2 = find(U(2,:)== maxU);
line(fcmdata(index1,1),fcmdata(index1,2),'linestyle','none','marker','o','color','g'); line(fcmdata(index2,1),fcmdata(index2,2),'linestyle', 'none','marker','x','color','r');
hold on
plot(center(1,1),center(1,2),'ko','markersize',10,'LineWidth',2) plot(center(2,1),center(2,2),'ko','markersize',10,'LineWidth',2)
Результаты работы программы приведены на рис.1, а.
[pic 1][pic 2]
а) б)
Рис.1 Кластеризация с помощью функции fcm
Производим изменение форм маркеров на «.» и «+». Также, меняем их цвета на «синий» и «черный».
load fcmdata.dat
plot(fcmdata(:,1),fcmdata(:,2),'o','color','k')
[center,U,obj_fcn] = fcm(fcmdata,2);
maxU = max(U); index1 = find(U(1,:)== maxU);
index2 = find(U(2,:)== maxU);
line(fcmdata(index1,1),fcmdata(index1,2),'linestyle','none','marker','.','color','b');
line(fcmdata(index2,1),fcmdata(index2,2),'linestyle', 'none','marker','+','color','black');
hold on
plot(center(1,1),center(1,2),'ko','markersize',10,'LineWidth',2)
plot(center(2,1),center(2,2),'ko','markersize',10,'LineWidth',2)
Результаты работы программы приведены на рис.1, б.
- Пример решения задачи нечеткой кластеризации с помощью функции fcm с использованием второго формата ее записи
load fcmdata.dat
[center,U,obj_fcn] = fcm(fcmdata,2, [2.5 1000 0.0000001 1]);
maxU = max(U);
index1 = find(U(1,:)== maxU);
index2 = find(U(2,:)== maxU);
line(fcmdata(index1,1),fcmdata(index1,2),'linestyle','none','marker','o','color','g'); line(fcmdata(index2,1),fcmdata(index2,2),'linestyle', 'none', 'marker','x','color','r');
...