K-means Matlab代码
2016-08-17 16:58
309 查看
K-means的Matlab实现并没有任何难度,之所以要把今天的代码贴出来,主要因为编码的过程中感觉自己写出的程序效率好弱鸡,想通过张量编码的方式优化优化,但发现好多原函数都忘了【摊手】,只好将弱鸡的代码暂且贴在这里,等撞见好的方法再改进之吧。此外,也提醒提醒自己,遇到美好的代码不应只是欣赏一下就作罢,还应该懂得吸收!
function kmeans(k) D = rand(2, 30); C = cell(k); order = randperm(30); mu = D(:, order(1:k)); for i=1:20 for l = 1:k C{l} = []; end for j = 1:size(D, 2) %d = mu - repmat(D(:,j),1,k); for l = 1:k d(l) = norm(D(:,j)-mu(:,l)); end [~,n] = min(d); C{n}(end+1) = j; end for l=1:k mu(:,l)=sum(D(:,C{l}),2)./size(C{l},2); end end for l=1:k C{l} D1 = D(:,C{l}); scatter(D1(1,:),D1(2,:)); hold on end
相关文章推荐
- 解析在main函数之前调用函数以及对设计的作用详解
- 详解Matlab中 sort 函数用法
- java和matlab画多边形闭合折线图示例讲解
- C#调用Matlab生成的dll方法的详细说明
- 简述Matlab中size()函数的用法
- 从java中调用matlab详细介绍
- 稀疏自动编码器 (Sparse Autoencoder)
- 详解Matlab中 sort 函数用法
- 简述Matlab中size()函数的用法
- VC++与Matlab混合编程的快速实现
- Matlab 矩阵运算
- matlab与opencv部分函数的对照
- matlab神经网络工具箱创建神经网络
- Matlab
- MATLAB 入门教程
- matlab函数_连通区域
- MATLAB中函数模式和命令模式的区别
- MATLAB 添加自定义的模块到simulink库浏览器
- Export Figures for LaTeX Writing