Count consecutive elements in an array

2 visualizaciones (últimos 30 días)
Debraj Midya
Debraj Midya el 6 de Oct. de 2021
Comentada: Mathieu NOE el 7 de Oct. de 2021
suppose i have an array like: A = [1 1 1 1 2 2 2 4 4 4 4 1 1 1 1 2]
I want the result in this form, B = [4 3 4 4 1].
or something like this will be best: B = [4 1; 3 2; 4 4; 4 1; 1 2]. First colums contains the number of entry and the second colums contains the entry itself.
Kindly help.

Respuesta aceptada

Mathieu NOE
Mathieu NOE el 6 de Oct. de 2021
hello
try this :
A = [1 1 1 1 2 2 2 4 4 4 4 1 1 1 1 2];
% A = [1 2 2 4 4 1 1 2];
%% main code
p=find(diff(A)~=0);
s1 = [p(1) diff(p) numel(A)-p(end)];
s2 = A(cumsum(s1));
B = [s1' s2'] % First colums contains the number of entry and the second colums contains the entry itself
  2 comentarios
Debraj Midya
Debraj Midya el 6 de Oct. de 2021
This worked. Thank you Sir.
Mathieu NOE
Mathieu NOE el 7 de Oct. de 2021
my pleasure

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Logical en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by