排序向量中的下索引和上索引

Lower and upper index in a sorted vector

我有一个带有时间戳的向量,如下所示:

1521753105.031429052352905
1521753105.081429004669189
1521753105.131428956985474
1521753105.181428909301758
1521753105.231429100036621
1521753105.281429052352905
1521753105.331429004669189
1521753105.381428956985474
1521753105.431428909301758
1521753105.481429100036621
1521753105.531429052352905
1521753105.581429004669189

当前时间是:

1521753105.231428861618042

介于第 4 和第 5 个值之间。

如何确定当前时间的下标和上标?

一个衬垫技巧!

A=%[your numbers]
v=%the value to find its position

braket=find(sort([A,v])==v)+[-1 0]

假设A最初是排序的,当然

类似于

find 第一个大于您当前时间戳的时间戳。通过减一找到最后一个较小的时间戳。

bracket = find(A>v,1) + [-1, 0];