How to find the same date when the serial datenum is slightly off

I'm looking to find a specific date within a larger matrix, however the datenum command returned two slightly different values for the same date causing the find function to return a null matrix. In context: these two indicies are the identical date 2/21/11 19:05:00 yet a numerical comparison returns a zero: tseries(10141) == data_series(1) ans = 0 K>> tseries(10141) ans = 7.345557951388889e+005 K>> data_series(1) ans = 7.345557951388890e+005 the actual numerical difference is tiny (1*10^-8), but the find command nonetheless won't work because the numbers aren't exactly equal. Is there any workaround to this issue?
Thanks, Munan Xu

1 Comment

also the difference is not consistent across the entire matrix, so I cannot just add a constant to one matrix or the other

Sign in to comment.

 Accepted Answer

Index the result in the followin way:
idx = abs(dates1 - dates2) < 1e-4
Set the tolerance on the RHS.
Oleg

1 Comment

To get the seconds you can decrease the tolerance to 1/86400.

Sign in to comment.

More Answers (0)

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!