フィルターのクリア

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 回表示 (過去 30 日間)
for ii = 1:length(readings)
if readings(ii) > 100
break;
end
end
fprintf('First reading above 100 is at index %d.\n', ii);

採用された回答

Alan Stevens
Alan Stevens 2020 年 5 月 25 日
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 件のコメント
Randall Ang
Randall Ang 2020 年 5 月 25 日
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?

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by