Calculating Average Duration/Length in an Array
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
David
el 12 de Dic. de 2014
Comentada: Star Strider
el 12 de Dic. de 2014
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 comentarios
Respuesta aceptada
Star Strider
el 12 de Dic. de 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 comentarios
Star Strider
el 12 de Dic. de 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.
Más respuestas (0)
Ver también
Categorías
Más información sobre Calendar en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!