MATLAB: How to find the length of segments of a matrix that meet certain condition

genetic algorithmmatrixmatrix manipulation

Hi guys, I am trying hard to think of an algorithm for this, but no luck.
If I have a matrix a = [77 77 77 79 79 79 77 77 77 77];
And I want to find the length of segments that are equal to 77 (3 and 4).
What is the most efficient way to do this?
thank you very much for your help!

Best Answer

Simply use the function meant for that. If you have the Image Processing Toolbox, use regionprops:
a = [77 77 77 79 79 79 77 77 77 77];
props = regionprops(a == 77, 'Area');
allLengths = [props.Area]
You'll get:
allLengths =
3 4