【发布时间】:2015-08-12 09:51:50
【问题描述】:
我有两个不同大小的向量 XYZ。我们可以称它为 Data1 和 Data2,其中:
Data1 = [1000 3:55 2000; ...
950 2200 4.5; ...
1050 2350 5.5; ...
1025 2500 6; ...
1075 2600 7; ...
1000 2700 8];
Data2 = [1000 2650 7.95; ...
1000 2750 8.16; ...
1000 2700 9; ...
1025 3000 10];
点之间可接受的最小差异是位置(X,Y)为 100 米,深度为 0.2 米(Z)。
在这种情况下,向量之间的点将是 P_Data1 = [1000 2700 8] 和 P_Data2 = [1000 2650 7.95],因为距离是可以接受的,深度是最近的。
有没有人知道可以进行这种关联的函数来帮助我?我认为在 Matalab 中有一些解决问题的功能和高性能,因为我会为数千个点做这个计算。
我目前正在使用嵌套循环,但性能很差,因为我计算所有距离,然后计算每个点深度之间的所有差异并过滤矩阵。
简而言之,我想在定义的范围内找到两个不同大小的向量之间深度越来越低的点。
感谢大家的帮助!
【问题讨论】:
-
所以您正在寻找同时满足 x 和 y 要求的最近深度测量?
-
Data1有错误。我认为应该是1000 3.55 2000;而不是3:55。 -
嗯,这是一个愚蠢的问题,但我认为您不需要相关性。根据您所说,您可以简单地从 Data 2 中减去 Data 1,它返回一个矩阵,取它的绝对值(等于取每个元素的绝对值),然后过滤第 1 列和第 2 列的条件(简称XY)必须小于200,第3列必须小于0.2,我这里做错了吗?
标签: matlab coordinates distance correlation depth