Kmeans动态聚类算法matlab的简单实现
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Chapter 02-Clustering程序作业
姓名:王官皓学号:2010021080018
一、分析:算法基本思想采用K-Means算法不变,具体实现采用附件中的几个*.m函数文件协同完成:
通过Kmeans(x,k)方法对向量组x进行聚类,k为K-Means算法中选取的k值,初始采用前k个样本作为聚类中心。Kmeans.m:%主函数,用于调用各子函数,最大支持k=5时的图形化显示(不同的点型和颜色)设置中心显示为绿色(‘pg’)型
clustering.m: %归类子函数,初始化及每次更新聚类中心后确定要继续迭代时,将使用次函数进行归类
dotLength.m: %计算点到聚类中心之间的距离的函数
is_stop.m: %判停函数,当迭代结束条件满足时,向主函数发出终止信号,终止迭代
二、运行结果:
>> for k=2:5
subplot(2,2,k-1)
Kmeans(x,k)
end
三、结果分析:由图形化结果,聚类效果良好。
四、总结:因为不常用matlab,对matlab的掌握不牢,很多在C和C++里的技巧都用不上来,所以花了很多时间,最后程序结构也安排得不太
好。应巩固一下matlab基础。
后来发现matlab自带有kmeans.m这个函数,不过因为有800多行,没细心去读具体编程实现。:-)