Count consecutive elements in an array

2 Ansichten (letzte 30 Tage)
Debraj Midya
Debraj Midya am 6 Okt. 2021
Kommentiert: Mathieu NOE am 7 Okt. 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.

Akzeptierte Antwort

Mathieu NOE
Mathieu NOE am 6 Okt. 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 Kommentare
Debraj Midya
Debraj Midya am 6 Okt. 2021
This worked. Thank you Sir.
Mathieu NOE
Mathieu NOE am 7 Okt. 2021
my pleasure

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by