displaying the total number of times an if statement is true

9 Ansichten (letzte 30 Tage)
C.G.
C.G. am 20 Nov. 2020
Kommentiert: C.G. am 20 Nov. 2020
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?

Akzeptierte Antwort

Rik
Rik am 20 Nov. 2020
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);

Weitere Antworten (0)

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by