Calculating Average Duration/Length in an Array
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Hello,
I have an array that contains 1 2 3 which each represents a state i.e) 1=sunny day 2=rainy day 3=cloudy day. The array is about 1 million length.
Example: [3 3 3 1 1 1 1 2 1 1 2 3 3]
I would like to figure out the average duration of each state. For state 1, it would be (4+2/2)= 3 days. For state 2, it would be (1+1/2=)1day. And state 3 it would be (3+2/2)=2.5days
I'm wondering if anyone has any suggestion or tips on how to do this with minimal code.
Cheers, David
0 Commenti
Risposta accettata
Star Strider
il 12 Dic 2014
The histc function (with help from unique) is probably the easiest option:
W = [3 3 3 1 1 1 1 2 1 1 2 3 3];
bins = unique(W);
k = histc(W,bins);
avg = k./2;
2 Commenti
Star Strider
il 12 Dic 2014
My pleasure!
I thought you might want to find out the number of repeated sequences next, but I opted to wait and find out. I’m glad you found an applicable solution to the repeated-sequence problem.
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Markov Chain Models in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!