代码实现:
clc
clear
close all
data = rand(100,2);
[center,U,obj_fcn] = fcm(data,2);
subplot(1,2,1);
plot(data(:,1), data(:,2),‘o’);
hold on;
maxU = max(U);
% Find the data points with highest grade of membership in cluster 1
index1 = find(U(1,:) == maxU);
% Find the data points with highest grade of membership in cluster 2
index2 = find(U(2,:) == maxU);
plot(data(index1,1),data(index1,2),‘og’);
plot(data(index2,1),data(index2,2),‘or’);
% Plot the cluster centers
plot(center(1,1),center(1,2),‘xb’,‘MarkerSize’,15,‘LineWidth’,3)
plot(center(2,1),center(2,2),‘xr’,‘MarkerSize’,15,‘LineWidth’,3)
title(‘分类结果’)
subplot(1,2,2);
plot(obj_fcn)
title(‘目标函数J的变化’)
hold off;
或者:
clc
clear
close all
data = rand(100,2);
[center,U,obj_fcn] = FCM(data,2);
subplot(1,2,1)