【发布时间】:2016-03-17 14:52:34
【问题描述】:
我有以下时间序列:
b = [2 5 110 113 55 115 80 90 120 35 123];
b 中的每个数字都是一个数据点。我从b 计算了持续时间值。持续时间由b 内大于或等于 100 的所有数字表示,并连续排列(所有其他数字都被丢弃)。一个小于 100 的数字的最大间隙是允许的。持续时间的代码如下所示:
N = 2; % maximum allowed gap
duration = cellfun(@numel, regexp(char((b>=100)+'0'), [repmat('0',1,N) '+'], 'split'));
为b 提供以下持续时间值:
duration = [4 3];
我想为duration 中的每个值找到b 中的位置(时间线)。接下来,我想用零替换位于duration 之外的其他位置。结果将如下所示:
result = [0 0 3 4 5 6 0 0 9 10 11];
如果有人可以提供帮助,那就太好了。
【问题讨论】:
-
我从 b 计算了持续时间值发布你的代码,所以它也许可以扩展来做你想要的其他部分