Trouble understanding 'for' loops
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Justin Yeung
am 8 Feb. 2020
Kommentiert: Justin Yeung
am 8 Feb. 2020
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]
0 Kommentare
Akzeptierte Antwort
Walter Roberson
am 8 Feb. 2020
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.
Weitere Antworten (0)
Siehe auch
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!