资源简介

用matlab仿真实现的K-MEANS改进聚类,可以运行

资源截图

代码片段和文件信息

function [ resXresYrecord] = FunK_mean( xyk )
% 功能:
%     实现k-mean聚类算法
% 输入:
%     二维数据,分别用xy两个一维向量代表两个维度,xy只是元素集合,从x中随机选取一个元素,y中随机选取一个元素可以构成一个坐标点
%     k 是分成的类别的数量
% 输出:
%     k行的两个矩阵
%     对应同样的第n行,存放着第n类的所有元素
%     record: 记录着当前分类中每一类的坐标个数下标从1开始

    j = 1;
    % 下面是预分配一些空间
    % seedX 和 seedY 中存放着所有种子先初始化中心点,
    %(seedX,seedY)是当前中心点,(oldseedX,oldseedY)是上一轮迭代的中心点,
    % 记录二者是为了比较两次迭代间中心点是否有变化,如果无变化则停止迭代,确定分类输出计算结果
    seedX = zeros(1k);
    seedY = zeros(1k);
    oldSeedX = zeros(1k);
    oldSeedY = zeros(1k);
    resX = zeros(klength(x));
    resY = zeros(klength(x));
    % 用来记录resX中每一行有效元素的个数
    record = zeros(1k); 
    for i = 1:k % 产生k个随机种子 注意: 随机种子是来自元素集合,此处的种子是随机选择的中心点
        seedX(i) = x(round(rand()*length(resX)));%round是四舍五入函数,rand是随机

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       3252  2018-01-24 10:16  1.1聚类分区域\FunK_mean.m

     文件       2929  2018-01-24 10:24  1.1聚类分区域\FunK_meanPolyD.m

     文件        173  2018-01-17 14:41  1.1聚类分区域\ini_fea.m

     文件       1375  2018-01-27 09:37  1.1聚类分区域\main.m

     文件        404  2018-01-24 10:37  1.1聚类分区域\plot_obstacle.m

     目录          0  2018-05-17 10:44  1.1聚类分区域

----------- ---------  ---------- -----  ----

                 8133                    6


评论

共有 条评论