MATLAB中基于第二经纬度矩阵的矩阵数据提取

MATLAB中基于第二经纬度矩阵的矩阵数据提取,matlab,matrix,extraction,Matlab,Matrix,Extraction,我有两个矩阵,一个包含有关采集的样本的数据,每行表示一个样本,列表示该样本的不同信息,例如,采集样本的经度和纬度,另一个包含特定的关注点一列包含纬度,另一列包含经度,每行为关注点 例如,兴趣点可能是: [-64.7664, -64.2296, -64.4314, -64.4869, -64.400, -64.4000; 117.3117, 127.9522, 127.9867, 128.10270, 127.13330, 127.13330] 其中第1列表示纬度,第2列

我有两个矩阵,一个包含有关采集的样本的数据,每行表示一个样本,列表示该样本的不同信息,例如,采集样本的经度和纬度,另一个包含特定的关注点一列包含纬度,另一列包含经度,每行为关注点

例如,兴趣点可能是:

[-64.7664,
 -64.2296,
 -64.4314,
 -64.4869,
 -64.400,
 -64.4000;

 117.3117,
 127.9522,
 127.9867,
 128.10270,
 127.13330,
 127.13330]
其中第1列表示纬度,第2列表示经度

而示例数据将类似于:

c1   c2   c3   c4   c5        c6        c7    ...
0,   3,   6,   4,   -74.21,   103,      4     ...
1,   NaN, 4,   6,   -70.1,    101,      8     ...
3,   0,   5,   3,   -64.7664, 117.3117, 5     ...
2,   4,   12,  NaN, -62.1,    120,      NaN   ...
19,  5,   16,  1,   -64.400,  127.1333, 16    ...
数据继续显示另外29列。在本例中,需要将第三行和第五行制作成一个新的矩阵

我需要找出哪些样本位于这些特定的兴趣点,这样样本的经度和纬度就与包含特定兴趣点的数据行之一相同

如何查找在关注点收集的样本行,然后创建一个新矩阵,该矩阵仅包含在关注点找到的样本的信息?

您可以像本例中那样使用intersect

a = [1 2; 3 4; 5 5];
b = [3 4; 5 5; 2 1];

[c,ia,ib] = intersect(a,b,'rows')

当向量ia包含a和ib的公共索引时,b中的公共索引。

一些示例会很有用。您能在代码中向我们展示您的一些材料和预期结果吗?已经添加了一个示例,谢谢。我已经尝试过了,但它不起作用。关于为什么它不起作用,我的假设是因为兴趣点矩阵只有两列,而另一个矩阵有38列,经度和纬度是第6行和第7行。我不知道这是否是事实上的原因,这只是一个假设。你可以选择感兴趣的列,例如a:,[12]和b:,[25 32]相交是正确的选择。但在您的示例和数据描述中,可能存在列和行之间的混淆。虽然列和行位于正确的位置,但我确实解决了问题。问题是,一些样本与另一个样本的经度和纬度完全相同,这只告诉我该经度和纬度的一个样本行,而不是共享同一位置的几个样本行。我该如何处理?