我在Matlab中有2个数据集,每个数据集都是一个2xn的数据数组,其中第一行包含时间戳。然而,并不是每个时间戳都有一个数据点。现在我想比较这些数据点,但如果不过滤任何不相互的数据点,我就无法使用索引。举个例子:
A = [ 1, 2, 3, 5, 6;
3, 4, 5, 7, 8 ]
B = [ 1, 2, 4, 5, 6;
9, 8, 6, 5, 4 ]
我想使用某种操作或一组操作来结束
A = [1, 2, 5, 6;
3, 4, 7, 8 ]
B = [ 1, 2, 5, 6;
9, 8, 5, 4 ]
使时间和数据点与索引相匹配。
我使用 ismember 来识别不相互的索引,但我在从原始集合中删除有问题的列时遇到问题。我将 ismember 输出与数据集相乘,但它所做的只是将列中的时间戳设置为零。
可以获得共同的时间戳
t = intersect( A(1,:), B(1,:) );
然后过滤
A
和 B
以查找此数组中具有时间戳的列
A = A( :, ismember(A(1,:), t) );
B = B( :, ismember(A(1,:), t) );