Long story short, I'm trying to investigate the number of consecutive values in a vector that are greater (or less) than a threshold value.
burst duration
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I'm looking at a simple temperature time series over many years. I'm trying to investigate the duration of bursts in above a specific threshold temperature in this series but can't think of a way for Matlab to search for these bursts and output the duration of them. So far all I have come up with is a for loop with a lot of if statements inside but this is very taxing on cpu and ram and takes a long time. Can anyone think of a quicker way to output this kind of information?
Réponse acceptée
Harry MacDowel
le 21 Sep 2011
I do not know what do you mean by consecutive values. You mean 1,2,3,4,5,6,7... consecutive? Or 1,1,1,1,1,1,1.. consecutive?
You can try:-
temp = data - threshold;
position = find(temp>0);
That is if you are going for positions of data greater than a threshold value. If it is case B of consecutive values then you are done. If you are looking for a pattern, manipulate the position data you found.
help find
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Language Fundamentals dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!