Counting a groupe of zeros
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Nick van der maat
el 5 de Mayo de 2015
Comentada: Image Analyst
el 5 de Mayo de 2015
Hello,
I am trying to count a group of zeros with a for loop.
But it keeps giving me the error Index must be a positive integer or logical.
Stops=0;
for i=1:size(TachographVehicleSpeed)
if (TachographvehicleSpeed(i)==0&&TachographvehicleSpeed(i-1)~=0)
Stops = Stops + 1;
end
end
Respuesta aceptada
Image Analyst
el 5 de Mayo de 2015
If you want to count groups of zeros, like the number of groups and number of zeros in each group, you can use regionprops() if you have the Image Processing Toolbox.
m = [1 0 0 0 1 1 0 0 1 0 0 0 0]; % Sample data
[labeledArray, numberOfZeroGroups] = bwlabel(m == 0);
stats = regionprops(labeledArray, 'Area');
zerosInEachGroup = [stats.Area]
Results:
numberOfZeroGroups = 3
zerosInEachGroup =
3 2 4
2 comentarios
Image Analyst
el 5 de Mayo de 2015
You're welcome. If this answers your question best, then maybe you can officially "Accept" the answer and/or vote for it.
Más respuestas (1)
Hooman Habibi
el 5 de Mayo de 2015
The index starts from zero so you must start the loop from i=2. you can also count the consecutive zeros in row vector z by the following one liner
numberOfZerosInZ=sum(abs([z 1])+abs([1 z])==0)
0 comentarios
Ver también
Categorías
Más información sobre Get Started with MATLAB en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!