我有两个矩阵,一个包含有关采集样本的数据(每行代表一个样本,列代表该样本的不同信息,例如收集它的经度和纬度),另一个包含特定的兴趣点(一列)包含纬度和另一个经度,每行是一个兴趣点。)
例如,兴趣点可能是:
[-64.7664,
-64.2296,
-64.4314,
-64.4869,
-64.400,
-64.4000;
117.3117,
127.9522,
127.9867,
128.10270,
127.13330,
127.13330]
第一列代表纬度,第二列代表经度。
而样本数据看起来像:
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列。在这个例子中,第三行和第五行需要被制作成一个新的矩阵。
我需要找到哪些样本位于这些特定兴趣点(因此样本的经度和纬度与包含特定兴趣点的数据行之一相同)。
如何查找在感兴趣的点收集哪些样本(行),然后创建一个仅包含在感兴趣点找到的样本信息的新矩阵?
答案 0 :(得分:0)
您可以在此示例中使用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
中常见索引的公共索引。