How do i count same consecutive occurrences

32 visualizaciones (últimos 30 días)
DuckDuck
DuckDuck el 23 de Oct. de 2018
Comentada: Bruno Luong el 16 de Dic. de 2021
Consider I have an array of occurrences
A=[1,1,1,1,1,2,2,2,2,3,3,3,3,2,2,2,1,1,1,1]
I want to find out how many 2 are on each occurrence. The answer should be 4 starting 6th position and 3 starting 14 positions.
Is it possible to do it in a wise Matlab way without many loop complications?

Respuestas (3)

madhan ravi
madhan ravi el 23 de Oct. de 2018
Editada: madhan ravi el 23 de Oct. de 2018

Daniel Pare
Daniel Pare el 5 de Nov. de 2019
I wanted to count how many time in a row Head or Tail will occure from a random draw and I came up with this.
Let (x) be your vector of observation like x = [1 1 0 1 0 0 0 1]
The result will be: s = [ 2 1 1 3 1]
s=0 ;
j=2;
i=1;
while i < nb_it+1
c=1;
if i == nb_it
s = [ s c];
break
else
while x(i) == x(i+1)
c = c+1;
i = i+1;
if i == nb_it
break
end
end
end
s = [ s c];
i = i+1;
end
s = s(2:end); % to remove the first zero
sum(s) % the sum should be equal to the number of element in (x)
max(s) % This is the maximum of consecutive ocurence from the draw
  5 comentarios
giannit
giannit el 23 de Abr. de 2020
That one line command is amazing, many thanks!
gummiyummi
gummiyummi el 3 de Ag. de 2020
I get an error: Error using horzcat. Dimensions of arrays being concatenated are not consistent.
Can anybody help resolve this?

Iniciar sesión para comentar.


Bruno Luong
Bruno Luong el 3 de Ag. de 2020
Editada: Bruno Luong el 16 de Dic. de 2021
Example:
A=[1,1,1,1,1,2,2,2,2,3,3,3,3,2,2,2,1,1,1,1]
Code
d = diff([0, A==2, 0]);
startidx = find(d==1)
lgt = find(d==-1)-startidx % EDIT error
Result
startidx =
6 14
lgt =
4 3
  4 comentarios
Ayush Meena
Ayush Meena el 15 de Dic. de 2021
@Bruno can you please tell me what is idx here?
Bruno Luong
Bruno Luong el 16 de Dic. de 2021
@Ayush Meena it's a typo, should be startidx.

Iniciar sesión para comentar.

Categorías

Más información sobre Resizing and Reshaping Matrices en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by