我有一个 3D 点数据集,它们排列成类似于(半)椭圆形的集群。当我尝试标准椭球拟合时,例如在 MATLAB 函数http://www.mathworks.com/matlabcentral/fileexchange/24693-ellipsoid-fit中实现,我得到虚半径,无论我是否将拟合应用于其中的所有点椭圆体体积或仅指向位于其凸包上的点。
我想知道星团形状更像是半椭球体而不是像一个完整的椭球体这一事实是否会导致这些不稳定性?有没有更强大的方法可以解决我的问题?
更新:
这是一个此类 3D 点集群的示例。蓝色圆圈表示位于集群凸包上的点。
凸包情况的最小工作示例如下:
k = convhull(x, y, z);
ind = unique(k(:));
[center,radii,evecs,~] = ellipsoid_fit([x(ind),y(ind),z(ind)], 1);