Main Content

nearestNeighbor

(不推荐)最靠近指定点的顶点

不推荐使用 nearestNeighbor(DelaunayTri)。请改用 nearestNeighbor(triangulation)

不推荐使用 DelaunayTri。请改用 delaunayTriangulation

说明

示例

PI = nearestNeighbor(DT,Q) 返回 DT.X 中距 Q 矩阵中每个查询点位置最近的点的索引。

注意

nearestNeighbor 不支持有约束边的二维三角剖分。

在二维和三维工作模式下,PI = nearestNeighbor(DT,QX,QY)PI = nearestNeighbor(DT,QX,QY,QZ) 允许以列向量格式指定查询点。

[PI,D] = nearestNeighbor(___)D 中返回查询点与其最近邻点之间的对应欧几里德距离。

示例

全部折叠

为一组随机点创建 Delaunay 三角剖分。

rng default
x = rand(10,1);
y = rand(10,1);
dt = DelaunayTri(x,y);

创建一个二维查询点矩阵。

Q = [0.25 0.25; 0.5 0.5];

查找距查询点最近的邻点。

pid = nearestNeighbor(dt,Q)
pid = 2×1

     7
     7

输入参数

全部折叠

Delaunay 三角剖分表示,指定为 DelaunayTri 对象。

查询点,指定为矩阵。Q 的大小为 mpts×ndim,其中 mpts 是查询点的数量,ndim 是点所在空间的维度。

查询点,指定为单独的列向量。指定 QXQY 以给出二维查询点的坐标,或指定 QXQYQZ 以给出三维查询点的坐标。

输出参数

全部折叠

最近邻的点索引,以列向量形式返回。PI 是指向点的点索引的向量 DT.XPI 的长度等于查询点的数目 mpts

欧几里德距离,以列向量形式返回。D 中的每个元素给出一个查询点与其最近邻之间的欧几里德距离值。

扩展功能

基于线程的环境
使用 MATLAB® backgroundPool 在后台运行代码或使用 Parallel Computing Toolbox™ ThreadPool 加快代码运行速度。

版本历史记录

在 R2009a 中推出