Hi everyone, I have been trying to debug this for loop as it always retain the last value of the array even if none of the conditions meet for every element. For instance, using readings = [1 20 55 90], it will print that reading(4)>100.

1 Ansicht (letzte 30 Tage)
for ii = 1:length(readings)
if readings(ii) > 100
break;
end
end
fprintf('First reading above 100 is at index %d.\n', ii);

Akzeptierte Antwort

Alan Stevens
Alan Stevens am 25 Mai 2020
Try:
ix = 0;
for ii = 1:length(readings)
if readings(ii) > 100
ix = ii;
break;
end
end
fprintf('First reading above 100 is at index %d.\n', ix);
  2 Kommentare
Randall Ang
Randall Ang am 25 Mai 2020
ahh, it works, thanks. very smart! so we initialise another variable and print it instead, since the for loops will cause ii to retain the last element if it does not break the if statement right?

Melden Sie sich an, um zu kommentieren.

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