我在第一列中有一个带有时间戳的matlab数组A,在第二列中有一个数据:
times = datenum('2014-05-10 12:00'):1/1440:datenum('2014-05-10 13:00');
data = rand(61,1);
A = [times' data];
我有另一个数组B,其中包含应从数组A中删除的行的时间戳:
B = [datenum('2014-05-10 12:10') datenum('2014-05-10 12:45')]';
如何获取包含数组A中数据但数组B中未列出时间戳的数据的数组?实际上,我正在使用大型数据集,因此我宁愿不使用(嵌套)循环。
几种方法之一,
C = A(~ismember(A(:,1),B),:);
请注意,在比较浮点数是否相等时需要非常小心,并且根据创建日期的方式,您可能会发现任何直接比较方法都无法完全满足您的期望。
例如
(0.3-(0.2+0.1))==0
ans =
0
可以使精度提高一倍是正确的,但通常会让人们感到惊讶。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句