lower and upper index in sorted vector
1 view (last 30 days)
Show older comments
I have a vector with timestamps as following
1521753105.031429052352905
1521753105.081429004669189
1521753105.131428956985474
1521753105.181428909301758
1521753105.231429100036621
1521753105.281429052352905
1521753105.331429004669189
1521753105.381428956985474
1521753105.431428909301758
1521753105.481429100036621
1521753105.531429052352905
1521753105.581429004669189
How to determine the lower and upper index to the current time ?
which is in between the 4th and 5th values.
1521753105.231428861618042
1 Comment
Accepted Answer
John D'Errico
on 13 Jul 2020
Edited: John D'Errico
on 13 Jul 2020
Please don't post pictures of numbers. That makes it more difficult to help you, to answer your question. Why would you make it more difficult for someone to help you?
Regardless, the answer in MATLAB is to use discretize. This will tell you the index of the interval that contains your given time stamp.
T = [ 1521753105.031429052352905
1521753105.081429004669189
1521753105.131428956985474
1521753105.181428909301758
1521753105.231429100036621
1521753105.281429052352905
1521753105.331429004669189
1521753105.381428956985474
1521753105.431428909301758
1521753105.481429100036621
1521753105.531429052352905
1521753105.581429004669189];
T0 = 1521753105.231428861618042;
ind = discretize(T0,T)
ind =
4
I'm not sure if you noticed the problem here, but it should point out something important.
T0 does not actually lies in the interval you show it to lie in. That is, ...231428... comes BEFORE ...231429....
So the timestamp you indicate lies between T(4) and T(5). discretize tells you that. Of course, for this simple problem, sum will tell you as much.
sum(T <= T0)
ans =
4
More Answers (0)
See Also
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!