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

ПР7_Заболотников_9373

.pdf
Скачиваний:
1
Добавлен:
20.06.2023
Размер:
534.45 Кб
Скачать

j = 1; o = 1; for i = 1 : n

if(U_save(i) == CURR_CL(j)) j = j + 1;

else

U(o) = U_save(i); o = o + 1;

end;

end;

rev2 = 0;

for i = 1 : n if(U(i) ~= 0)

rev2 = rev2 + 1;

end;

end;

end;

% Отображение кластеров i = 1;

while(CLASTERS(i, 1) ~= 0) j = 1;

while(CLASTERS(i, j) ~= 0) switch i

case 1

plot(X_NORM(CLASTERS(i, j)), Y_NORM(CLASTERS(i,

j)), ...

'o', 'MarkerEdgeColor', [0 0.4470 0.7410], ...

'MarkerFaceColor', [0 0.4470 0.7410]); case 2

plot(X_NORM(CLASTERS(i, j)), Y_NORM(CLASTERS(i,

j)), ...

'o', 'MarkerEdgeColor', [0.8500 0.3250 0.0980],

...

'MarkerFaceColor', [0.8500 0.3250 0.0980]); case 3

plot(X_NORM(CLASTERS(i, j)), Y_NORM(CLASTERS(i,

j)), ...

'o', 'MarkerEdgeColor', [0.9290 0.6940 0.1250],

...

'MarkerFaceColor', [0.9290 0.6940 0.1250]); case 4

plot(X_NORM(CLASTERS(i, j)), Y_NORM(CLASTERS(i,

j)), ...

'o', 'MarkerEdgeColor', [0.4940 0.1840 0.5560],

...

'MarkerFaceColor', [0.4940 0.1840 0.5560]); case 5

plot(X_NORM(CLASTERS(i, j)), Y_NORM(CLASTERS(i,

j)), ...

'o', 'MarkerEdgeColor', [0.4660 0.6740 0.1880],

...

'MarkerFaceColor', [0.4660 0.6740 0.1880]); case 6

11

plot(X_NORM(CLASTERS(i, j)), Y_NORM(CLASTERS(i,

j)), ...

'o', 'MarkerEdgeColor', [0.3010 0.7450 0.9330],

...

'MarkerFaceColor', [0.3010 0.7450 0.9330]); case 7

plot(X_NORM(CLASTERS(i, j)), Y_NORM(CLASTERS(i,

j)), ...

'o', 'MarkerEdgeColor', [0.6350 0.0780 0.1840],

...

'MarkerFaceColor', [0.6350 0.0780 0.1840]); case 8

plot(X_NORM(CLASTERS(i, j)), Y_NORM(CLASTERS(i,

j)), ...

'o', 'MarkerEdgeColor', [1 0 0], ...

'MarkerFaceColor', [1 0 0]); case 9

plot(X_NORM(CLASTERS(i, j)), Y_NORM(CLASTERS(i,

j)), ...

'o', 'MarkerEdgeColor', [0 1 0], ...

'MarkerFaceColor', [0 1 0]); case 10

plot(X_NORM(CLASTERS(i, j)), Y_NORM(CLASTERS(i,

j)), ...

'o', 'MarkerEdgeColor', [0 0 1], ...

'MarkerFaceColor', [0 0 1]); case 11

plot(X_NORM(CLASTERS(i, j)), Y_NORM(CLASTERS(i,

j)), ...

'o', 'MarkerEdgeColor', [0 1 1], ...

'MarkerFaceColor', [0 1 1]); case 12

plot(X_NORM(CLASTERS(i, j)), Y_NORM(CLASTERS(i,

j)), ...

'o', 'MarkerEdgeColor', [1 0 1], ...

'MarkerFaceColor', [1 0 1]); case 13

plot(X_NORM(CLASTERS(i, j)), Y_NORM(CLASTERS(i,

j)), ...

'o', 'MarkerEdgeColor', [1 1 0], ...

'MarkerFaceColor', [1 1 0]); case 14

plot(X_NORM(CLASTERS(i, j)), Y_NORM(CLASTERS(i,

j)), ...

'o', 'MarkerEdgeColor', [0 0 0], ...

'MarkerFaceColor', [0 0 0]);

end; hold on;

j = j + 1;

end;

i = i + 1;

end; i = 1;

12

while(CENTROIDS(1, i) ~= 0 && CENTROIDS(2, i) ~= 0) plot(CENTROIDS(1, i), CENTROIDS(2, i), 'p', 'MarkerEdgeColor',

'k', 'MarkerFaceColor', 'w'); i = i + 1;

end;

axis equal;

%% Оценка разбиения r = r - 1;

F = zeros(1, r); C = zeros(1, r); summa = 0;

for i = 1 : r count = 0; j = 1;

sum_in_claster = 0; while(CLASTERS(i, j) ~= 0)

a1 = (X_NORM(CLASTERS(i, j)) - CENTROIDS(1, i)) ^ 2; a2 = (Y_NORM(CLASTERS(i, j)) - CENTROIDS(2, i)) ^ 2; sum_in_claster = sum_in_claster + (a1 + a2);

count = count + 1; j = j + 1;

end;

F(i) = sum_in_claster; C(i) = count;

summa = summa + C(i) * F(i);

end;

summa = summa / n;

13