2017-04-18 23 views
0

(Matlab问题)如何将数据点集群到预定义区域?

我有一组数据点,我想聚集到预定义的点。

我的数据点是一个MxN矩阵。每一行M是一条曲线。我想将每条曲线分配给给定的一组曲线PxN。例如。 P = 5,5追求曲线。

所以最后它应该将每个MxN曲线分配给PxN中的曲线。

最简单的方法是使用kmeans进行0次迭代。 使用相关性给了我很差的结果。 在Matlab中有一个简单的方法吗?

非常感谢您的回答。 干杯 金宝

+0

解决它自己: 为WC = 1:长度(数据集(:,1)) 对于i = 1:长度(中心(:,1)) DIST(I,WC)=总和( ((DataSet(WC,T) - centers(i,T))。^ 2)); (WC)= 012x idx_dcb(WC)= idx_temp; end –

+0

“聚类”意味着算法必须推断聚类结构。你想做分类:标签点与预定义的类。尝试最近邻居分类。 –

回答

0

解决它自己,这样的事情

T=1:360 
centers = rand(4,360) 
DataSet = rand(200,360) 

    for WC=1:length(DataSet(:,1)) 

     for i=1:length(centers(:,1)) 

      dist(i,WC) = sum(((DataSet(WC,T) - centers(i,T)).^2)); 
     end 
      [temp, idx_temp] = min(dist(:,WC)) 

      idx_dcb(WC) = idx_temp; 
    end 

idx_dcb是您的分配组的索引。

+0

使用短路距离 –