-1

我有 3D 矩阵,其中大多数值为零,但有一些非零值。

当我在 matlab 中绘制这个 3D 矩阵时,我得到如下图

在这里你可以看到有两组点彼此更近(这就是颜色变暗的原因),而两组点很远......

在此处输入图像描述

所以我的目标是将两个更接近的点组聚类并使其成为一个cluster1,另外两个将被称为cluster2和cluster3 ....

我尝试了 kmeans 聚类、BIC 聚类……但由于 kmeans 聚类基本上是为 2D 数据输入建立的,我在那里遇到了障碍……然后我将 3D 矩阵重塑为 2D 矩阵,但我仍然收到另一个错误Subscripted assignment dimension mismatch

所以你能不能想出一些富有成效的想法来做到这一点......

4

1 回答 1

2

根据您使用的评论,vol3d我假设您的数据必须以这种方式解释。如果您的数据矩阵被调用M,请尝试

[A,B,C] = ind2sub(size(M),find(M));
points = [A,B,C];
idx = kmeans(points,3);

在这里,我假设这M(i,j,k) = 1意味着您已经测量了具有属性和的点i,在您的情况下,这将是速度、角度和范围。jk

于 2015-02-13T10:05:46.757 回答