How to count repeated number pairs in matlab?
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Suppose I have a sequence 5,5,5,1,5,4,1,2,3,5,5,1,5 then 5 followed by 5 is 3 so answer is 3, so how to programme it in Matlab.
0 Kommentare
Antworten (2)
CS Researcher
am 5 Mai 2016
Bearbeitet: CS Researcher
am 5 Mai 2016
Lets assume the vector is a, i.e.,
a = [5,5,5,1,5,4,1,2,3,5,5,1,5];
Try this:
numberOfPairs = sum(numel(find(diff(a)==0)));
Hope this helps!
Image Analyst
am 5 Mai 2016
You can find out how many pairs of all integers are next to all other integers with the gray level cooccurrence matrix, given by graycomatrix() if you have the Image Processing Toolbox
m = [5,5,5,1,5,4,1,2,3,5,5,1,5]
glcm = graycomatrix(m, 'NumLevels', max(m),'GrayLimits',[])
glcm =
0 1 0 0 2
0 0 1 0 0
0 0 0 0 1
1 0 0 0 0
2 0 0 1 3
For example, 5 is next to 5 3 times. 5 is next to 1 two times. 3 is next to 2 two times, etc.
2 Kommentare
Image Analyst
am 5 Mai 2016
To get "(number of pairs one state followed by other)" - read it from the GLCM array. To get "(number of pairs first state followed by any another state)" just count up the total number of that number as long as that number is not in the last row or last column
subArray = fullMatrix(1:end-1, 1:end-1);
numAnyPairs = sum(subArray(:));
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!