Trouble understanding 'for' loops

3 Ansichten (letzte 30 Tage)
Justin Yeung
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]

Akzeptierte Antwort

Walter Roberson
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)

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