MATLAB: Displaying the total number of times an if statement is true

for loopif loop

I have a for loop with an if/else loop nested inside this:
xc = particledata{1}(:,5);
xc_array = table2array(xc);
for b = 1:size(xc_array,1)
if xc_array(b,1)>0.188
disp('grain left rice pile')
end
end
The code works, and it displays 'grain left rice pile' if the value is >0.188. For the particlaur file, it should find 29 numbers >0.188.
I would like to write some code which would tell me how many times matlab has found a number >0.188 in the array instead of me counting how many times those words are displayed in the command window.
Could anybody help me with this?

Best Answer

You can use the fact that sum will functionally cast your logical array to 0 and 1:
grains=sum(xc_array(:,1)>0.188);
fprintf('%d grain(s) left on rice pile\n',grains);