在matlab中移动窗口中的计数值超过给定阈值

时间:2016-10-27 19:48:01

标签: matlab count

我有时间与价值观情节。时间= 100。我想选择时间1到4&然后计算多少个值超过20.即时间1到4的值是16 43 94 21所以3个值超过20因此计数应该是3.然后想要移动窗口所以时间是2到5&计数超过20的值。所以最后一个窗口将是97到100.我尝试下面的代码,但它显示0& 1

N=4;% length of window
d=length(t);% t has 100 values so took length
for e=0:d-N;
    for x=1+e:N+e;
        y(x)=sum(t(x)>20); % t contains values so took t(x)    
    end
end

怎么做。

1 个答案:

答案 0 :(得分:1)

您可以使用逻辑索引显示t大于20的位置,然后使用movsum计算滑动窗口中有多少值超过20;

N =4;
idx = t > 20;
result = movsum(idx,N)