周围有几个实用程序来计算interpoint距离,但没有一个人完全我认为重要。我的目标是什么?
1。Inter-point距离有时会计算在一个点集,或在两组之间。所以必须处理这两种情况下的工具。
2。效率很重要,但一个共同的方法inter-point(欧几里得)距离使用技巧,结果精确度损失。好消息是bsxfun允许我们来计算距离有效和准确。
3所示。很多时候我们想计算一个inter-point,但是我们只需要整个矩阵的某个子集。然后它会很高兴有一个列表,只有单一的最近邻对于每一个集合点,或大或小的距离之外的一些限制。
4所示。在适当的地方,一个稀疏矩阵的距离可能是有用的。
5。有时可以解决很大问题,将问题分解成小块。在适当的地方IPDM呢。
6。有很多特殊的情况下,可以有效地解决。例如,找到最近的邻居是一个简单的一维数据的事,花费不超过一个。不需要计算所有感兴趣的如果只是最近的点的距离。(还有其他几种特殊情况,可以加速,也许使用k d树,或其他算法。如果感兴趣我会尽量提供。)
所有这些和更多的被IPDM满意。它使用一个属性/值对界面指定的选项。
找到最近的邻居维数据:
1 = randn (10000);
B = randn (15000 1);
抽搐,
d = ipdm (A, B,“子集”,“最近”);
toc
运行时间是0.151346秒。
注意那些可能担心绝对速度小的数据集。我现在已经大大加快的代码简单的调用,减少基本开销大约4倍。
看到许多的例子使用的演示文件。
Citar科莫
约翰D 'Errico (2023)。IPDM: Inter-Point距离矩阵(//www.tianjin-qmedu.com/matlabcentral/fileexchange/18937-ipdm-inter-point-distance-matrix), MATLAB中央文件交换。Recuperado。
Compatibilidad con de la版本MATLAB
Compatibilidad con las plataformas
窗户 macOS LinuxEtiquetas
Agradecimientos
Inspirado运动:distance.m,nearestpoint (x, y,米),nearestneighbour.m,计算两两距离和度量
Inspiracion对位:有效使用JIT再搜索,实验变差函数(半),findclump
Descubra住编辑器
克里族脚本con的脏污,公司salida y texto formateado en联合国documento ejecutable。