matlab(K均值).docVIP

  • 10
  • 0
  • 约3.28千字
  • 约 11页
  • 2019-08-21 发布于河北
  • 举报
matlab(K均值)

K-均值算法MATLAB PAGE 1 作业——K-均值算法 本题模式样本共有10个,聚类数目K取为3。在该MATLAB实现的算法中,本算法使用cell变成单元数据进行初始化和聚类保存,选择该样本集中的前3个样本作为初始聚类中心,按照最小距离原则将样本分配到各个聚类中,计算新的聚类中心,与之前的聚类中心比较。若不同则继续迭代,若相同则算法收敛,停止计算,得到聚类中心和聚类结果见附图。 程序: X=input(请输入样本数据矩阵:); m=size(X,1); n=size(X,2); counter=0; k=input(请输入聚类数目:); while km disp(您输入的聚类数目过大,请输入正确的k值); k=input(请输入聚类数目:); end if k==1 disp(聚类数目不能为1,请输入正确的k值); k=input(请输入聚类数目:); end %产生k个零矩阵,M用来存放聚类中心 M=cell(1,m); for i=1:k M{1,i}=zeros(1,n); end Mold=cell(1,m); for i=1:k Mold{1,i}=zeros(1,n); end %选择模式样本数据的前K个样本作为初始聚类中心 for i=1:k M{1,i}=X(i,:); end while

文档评论(0)

1亿VIP精品文档

相关文档