Добавил:
Да поможет вам Котельников Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
4
Добавлен:
23.06.2024
Размер:
1.15 Кб
Скачать
rng default;
X = [randn(50,2)*0.5+ones(50,2); randn(50,2)*0.85+ones(50,2); randn(50,2)*0.75+ones(50,2)];
figure;
plot(X(:,1),X(:,2),'.');
title 'Рандомное числовое множество';
[idx,C] = kmeans(X,5);
figure
gscatter(X(:,1),X(:,2),idx,'gbmrc')
hold on
scatter(C(:,1),C(:,2),90, 'filled' ,'k');
m = size(X,1);
D = sqrt(sum(abs(repmat(permute(X, [1 3 2]), ...
[1 size(C,1) 1]) - ...
repmat(permute(C, [3 1 2]), [m 1 1]) ).^2, 3));
[D I] = min(D,[],2);
fordraw = reshape([X C(I,:) nan(size(X))]', [2 m*3])';
plot (fordraw(:,1), fordraw(:,2))
x1 = min(X(:,1)):0.01:max(X(:,1));
x2 = min(X(:,2)):0.01:max(X(:,2));
[x1G,x2G] = meshgrid(x1,x2);
XGrid = [x1G(:),x2G(:)];
idx2Region = kmeans(XGrid,5,'MaxIter',1,'Start',C);
figure;
gscatter(XGrid(:,1),XGrid(:,2),idx2Region, ...
[0,0.75,0.75;0.75,0,0.75;0.75,0.75,0],'..');
hold on;
kkk = gscatter(X(:,1),X(:,2),idx);
kkk(3).Color = 'w';
kkk(2).Color = 'b';
kkk(1).Color = 'r';
kkk(4).Color = 'g';
kkk(5).Color = 'y';
title 'Разделение точек до ближайшего центра';
legend('Region 1','Region 2','Region 3','Region 4','Region 5','Location','NorthEast');
hold off;
Соседние файлы в папке Сети и системы радиосвязи и методы их защиты