【发布时间】:2017-10-30 07:49:06
【问题描述】:
我有一个nx3 元胞数组,其中包含一个事件的start time、end time 和一个与这种情况无关但必须保留以供以后使用的place 列。每一行都有一个事件。时间以秒为单位。我想创建一个函数来过滤时间,以便:
end_time(i) + threshold < start_time(i+1) for any given i within the array
如果不满足这样的条件,事件应该从start_time(i) to end_time(i+n)“合并”到end_time(i+n) + threshold < start_time(i + n + 1)。即满足条件的新开始时间为start_time(i),新的结束时间为end_time(i +n)。应删除所有其他行。
我一直在想一种有效的方法来做到这一点,但我发现自己迷路了
示例单元格如下
A =
[17.9174] [17.9386] 'NYC'
[20.3504] [20.3628] 'NYC'
[26.7564] [26.7804] 'NYC'
[26.7956] [26.8016] 'NYC'
[26.8017] [26.9000] 'NYC'
[27.7117] [27.8000] 'NYC'
阈值 0.2 的期望输出应该是
A =
[17.9174] [17.9386] 'NYC'
[20.3504] [20.3628] 'NYC'
[26.7564] [26.9000] 'NYC'
[27.7117] [27.8000] 'NYC'
【问题讨论】:
-
我猜您的示例中的阈值是 0.02?
-
我没有看到您的解决方案以及您迷路的地方。但我会尽力为您的问题提供提示。
标签: arrays matlab for-loop vectorization