这是一个基于regexp
的简单解决方案,用于查找运行次数:
result = numel(regexp(char(a+'0'), '1+'));
您也可以使用strfind
,该方法适用于数字数组(尽管未记录):
result = numel(strfind([0 a], [1 0]));
或者只是diff
:
result = sum(diff([a 0])<0);
如果您拥有图像处理工具箱,bwlabel
也可以用于该工作:
result = max(bwlabel(a));
或(感谢@rahnema1):
[~, result] = bwlabel(a);