Efficiently find most recent value using TIME column in two tables
Show older comments
Hi everyone,
I have two large tables (> 10 million rows), one containing measurement data ("data")
- each data point with a time stamp, approximately 2 Hz but significant jitter
one containing reference data ("ref")
- also with one time stamp per data point, approximately 1.5 Hz but significant jitter as well
I'd like to add a column to "data" named data.ref which always contains the most recent reference point.
The following works, but is incredibly inefficient:
for k=1:numel(data.TIME)
i_mostRecent = find(ref.TIME <= data.TIME(k), 1, 'last');
data.ref(k) = ref.ref(i_mostRecent);
end
Any tips on how to get rid of the for-loop and speed things up? Thanks a lot in advance!
Accepted Answer
More Answers (0)
Categories
Find more on Tables in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!