How to find the number of consecutive occurrence of the numbers?

14 Ansichten (letzte 30 Tage)
I'm in need to get the number of consecutive occurrence of the numbers in an array. Here is an example,
A=[1,2,3,1,2,3,1,1,1];
unqA=unique(A);
count=histc(A,unqA);
It give the count of 1 as 5, then 2 and 3 as 2. In the array A, the consecutive occurrence of 1 is 3 (i.e., maximum occurrence). Please help me how to get the value as 3 for the array A.(just for example).
Thanks in advance.

Akzeptierte Antwort

Roger Stafford
Roger Stafford am 31 Mai 2013
It isn't clear if you are asking for the maximum consecutive occurrence for each possible number in A or the maximum of these maximum occurrences. Here is a way to find the latter.
p = find([true,diff(A)~=0,true]);
[c,q] = max(diff(p));
m = A(p(q));
The pair (m,c} gives the number occurring consecutively the largest number of times and the number of those times, respectively.

Weitere Antworten (2)

Azzi Abdelmalek
Azzi Abdelmalek am 31 Mai 2013
A=[1,2,2,3,1,2,3,1,1,1];
ii=num2str(diff(A));
ii(strfind(ii,' '))=[];
jj=regexp(ii,'[^0*]','split');
jj(strcmp(jj,''))=[];
out=max(cellfun(@numel,jj))+1

per isakson
per isakson am 31 Mai 2013
Search File Exchange for runlength.
I think you can find solutions in Cody too.
  3 Kommentare
Jan
Jan am 31 Mai 2013
Bearbeitet: Jan am 31 Mai 2013
@Bless: On http://www.n-simon.de/mex you find download links for RunLength.mexw64 and RunLength.mexw32 for current Matlab versions, and RunLength.dll for Matlab versions before 7.6. All are compiled for Windows. If you use a Linux or Mac, you have to install a compiler and follow the shown instructions.
In addition you can use the M-file RunLength_M also.
Feel free to send me the complete error message by email and explain, why you do not get compiled MEX files from the download page.
Bless
Bless am 31 Mai 2013
Thank you Jan Simon..Now I got it..

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu MATLAB Compiler finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by