测量三维数据的密度(在Matlab中) [英] Measuring density for three dimensional data (in Matlab)

查看:425
本文介绍了测量三维数据的密度(在Matlab中)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个数据集,该数据集由三维欧几里得空间中的大量点组成.在这个点集合中,我试图找到最接近点密度最高的区域的点.

I have a dataset consisting of a large collection of points in three dimensional euclidian space. In this collection of points, i am trying to find the point that is nearest to the area with the highest density of points.

所以我的问题包括两个步骤:

So my problem consists of two steps:

  • 1:确定点的分布密度最高的地方

2:确定哪个点最接近1中的点

我可以管理第2点,但是我不确定如何求解第1点.我知道Matlab中有很多用于密度估计的函数,但是我不确定哪一个最合适,或者易于使用.

Point 2 i can manage, but i'm not sure how to solve point 1. I know there are a lot of functions for density estimation in Matlab, but i'm not sure which one would be the most suitable, or straightforward to use.

有人知道吗?

我的统计命令有点生疏,但据我所知,这种类型的问题需要进行多元分析.有人建议我使用多元核密度估计,但我不确定这是否是最佳解决方案.

推荐答案

密度是单位体积质量的度量.我想假设您的点都具有相同的质量,那么我想尝试测量每单位体积的点数.因此,一种方法是将您的欧几里得空间子集划分为许多小单位体积(让我们像每个人一样称其为体素),然后计算每一个中有多少个点.点数最多的体素是点密度最高的地方.当然,这是一种数值积分.如果您的点是根据某种分析函数分布的(我想不是),则可以用铅笔和纸来解决问题.

Density is a measure of mass per unit volume. On the assumption that your points all have the same mass then you are, I suppose, trying to measure the number of points per unit volume. So one approach is to divide your subset of Euclidean space into lots of little unit volumes (let's call them voxels like everyone does) and count how many points there are in each one. The voxel with the most points is where the density of points is at its highest. This is, of course, numerical integration of a sort. If your points were distributed according to some analytic function (and I guess they are not) you could solve the problem with pencil and paper.

您可以按照自己的喜好使此方法变得复杂,也许可以首先将您的空间划分为2 x 2 x 2的体素,然后选择具有最多分数的体素,然后再细分,直到满足您的条件为止.

You might make this approach as sophisticated as you like, perhaps initially dividing your space into 2 x 2 x 2 voxels, then choosing the voxel with most points and sub-dividing that in turn until your criteria are satisfied.

我希望这将使您从第1点开始;您似乎对第二点没问题,所以我现在就停下来.

I hope this will get you started on your point 1; you seem to be OK with point 2 so I'll stop now.

编辑

您似乎正在寻找triplequad.

这篇关于测量三维数据的密度(在Matlab中)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆