Info
This question is closed. Reopen it to edit or answer.
how to find a window of days in a time series data with values in a range
1 view (last 30 days)
Show older comments
I have a time series data from which I need to find a window of days where the start value is >0.4 and end value is <0.2. However, the values in that window range between 0.4 and 0.2. I have this so far. However, my code is finding all values which have a decreasing trend for 10 days.
AA = data;
s = [0;diff(AA)];
ss = sign(s);
ss(AA<0.4)=-1;
ss= ss';
c = conv2(ss,win , 'valid');
win = ones(1,10)*-1;
p = find(conv2(ss, win, 'valid') == -1);
2 Comments
Ameer Hamza
on 1 May 2020
Can you share the data? I there a single window or several windows between 0.2 and 0.4?
Answers (1)
Ameer Hamza
on 2 May 2020
Edited: Ameer Hamza
on 2 May 2020
This shows the window of days in which the the value is within the specified range
data = load('data.mat');
AA = data.AA;
mask = (0.2 < AA) & (AA < 0.4);
days = find(mask); % contain the days on which the data is in range
plot(mask)
ylim([-0.2 1.2])
1 Comment
This question is closed.
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!