Borrar filtros
Borrar filtros

count a sequence of 1 or 0

1 visualización (últimos 30 días)
Boby S
Boby S el 10 de Dic. de 2019
Comentada: Boby S el 11 de Feb. de 2020
Hi
I have the following data (2 column, A and B) imported from Excel:
A B
0 0
0 1
1 1
1 0
1 1
1 0
0 1
1 1
0 1
0 1
I want to count the repeat of 0 and 1 in sequence for column A. I do not want to count all 1 or all 0. Next, based on this count, I want to count only 0 on column B for same sequence.
I expect the following result:
2 1
4 2
1 0
1 0
2 0

Respuesta aceptada

Stephen23
Stephen23 el 10 de Dic. de 2019
Editada: Stephen23 el 10 de Dic. de 2019
>> M = [0,0;0,1;1,1;1,0;1,1;1,0;0,1;1,1;0,1;0,1]
M =
0 0
0 1
1 1
1 0
1 1
1 0
0 1
1 1
0 1
0 1
>> X = [true;diff(M(:,1))~=0];
>> Y = diff(find([X;true]));
>> V = accumarray(cumsum(X),~M(:,2));
>> Z = [Y,V]
Z =
2 1
4 2
1 0
1 0
2 0
  3 comentarios
Stephen23
Stephen23 el 6 de Feb. de 2020
Generate X and Y, then do this:
>> F = @(v)sum(v(1+(numel(v)>1):end));
>> V = accumarray(cumsum(X),~M(:,2),[],F);
>> Z = [Y,V]
Z =
2 0
4 2
1 0
1 0
2 1
Boby S
Boby S el 11 de Feb. de 2020
Thank you

Iniciar sesión para comentar.

Más respuestas (0)

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by