Trouble understanding 'for' loops

3 ビュー (過去 30 日間)
Justin Yeung
Justin Yeung 2020 年 2 月 8 日
コメント済み: Justin Yeung 2020 年 2 月 8 日
So if given this vector:
N = [10,100,500,1000,2000,3000,4000,5000];
for k=1:length(N)
end
Why is my value for 'k' only returning 8? Shouldn't it be returing a row vector [1 2 3 4 5 6 7 8]

採用された回答

Walter Roberson
Walter Roberson 2020 年 2 月 8 日
N = [10,100,500,1000,2000,3000,4000,5000];
for k=1:length(N)
k
end
When you have a for loop, then the loop variable is assigned the first column in the list of values, and then the body of the loop is executed. Then the loop variable is assigned the second column in the list of values, and the body of the loop is executed. Then the loop variable is assigned the third column in the list of values... and so on. Eventually the loop variable will be assigned the last value, and the body of the loop will be executed.
Notice that at the end of all of that, the loop variable will still have the value of the last column -- which would be 5000 in this case. The loop variable is assigned one value at a time (unless you are doing strange things with columns), and at the end the loop variable is left as that one value.
The loop variable is not set to all of the value simultaneously, only to one value at a time.
  1 件のコメント
Justin Yeung
Justin Yeung 2020 年 2 月 8 日
OK. I get it now! Thank you!

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

その他の回答 (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