有数据集和初始聚类中心的FCM聚类matlab代码
时间: 2024-01-13 09:04:14 浏览: 111
基于Matlab实现FCM聚类(源码).rar
5星 · 资源好评率100%
以下是一个简单的FCM聚类Matlab代码,其中包含数据集和初始聚类中心:
```matlab
% 数据集
data = [1 2; 3 4; 5 6; 7 8; 9 10];
% 初始聚类中心
c = [2 3; 6 7];
% 模糊C均值(FCM)聚类
options = [2.0 100 1e-5 0]; % [指数m,最大迭代次数,终止标准,显示输出]
[center,U,obj_fcn] = fcm(data,2,options,c);
% 显示聚类结果
maxU = max(U);
index1 = find(U(1,:) == maxU);
index2 = find(U(2,:) == maxU);
figure;
plot(data(index1,1), data(index1,2), 'o', 'MarkerEdgeColor', 'k', 'MarkerFaceColor', 'g', 'MarkerSize', 10);
hold on;
plot(data(index2,1), data(index2,2), 'o', 'MarkerEdgeColor', 'k', 'MarkerFaceColor', 'r', 'MarkerSize', 10);
plot(center(1,1),center(1,2),'x','MarkerSize',15,'LineWidth',3);
plot(center(2,1),center(2,2),'x','MarkerSize',15,'LineWidth',3);
hold off;
```
在这个例子中,数据集包含5个二维数据点,初始聚类中心为2个。options变量定义了算法的参数,包括指数m,最大迭代次数,终止标准和输出控制。最后,我们通过在图中绘制聚类结果来显示结果。
阅读全文