How to skip certain return points using the "find" command
显示 更早的评论
I have a random wave form that has an amplitude of 5. I wish to find every point that is over the threshold of 2 and under -2, but only every 5 points. e.g. I found one point over 2, now I cannot detect another point over 2 for another 5 points. I am brand new to matlab and this is just for practice, but any help would be appreciated.
采纳的回答
更多回答(1 个)
Antti
2011-8-25
If you want also to get indexes (for some reason) with find command:
% example data
y = sin(0.1:0.1:100)*5;
% All indexes over threshold
inds = find(abs(y) > 2);
% Selected point indexes (I didn't get the point of number 6 here)
inds = inds(1:5:end);
sel = y(inds);
plot(sel,'*')
1 个评论
Oleg Komarov
2011-8-25
The OP says: "now I cannot detect another point over 2 for another 5 points" meaning that the fifth point should be excluded.
1:5:end includes every fifth, but you have to skip that as well.
Btw, I would not call find, it is unnecessary and slows down the routine.
类别
在 帮助中心 和 File Exchange 中查找有关 Clustering 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!