changing the running variable in a "for" loop

조회 수: 6 (최근 30일)
Pultibus
Pultibus 2017년 8월 11일
댓글: Star Strider 2017년 8월 12일
I want that the running variable of my for loop changes in the loop. But when I take the next step in the for loop, my made changes for n disappear. In some tutorials was written that I have to use a while loop. But this isn't working as well. Is there an other possibility to solve my problem?
for n = 1:size(t,2)
dv = v_0(n+1) - v_0(n);
while dv ~= 0
while dv > 0
...
n = n + dt/delta_t+1;
break
end
while dv < 0
...
break
end
break
end
...
continue
end

답변 (3개)

Star Strider
Star Strider 2017년 8월 11일
You cannot change the loop index variable within a for loop:
n = n + dt/delta_t+1;
Since ‘n’ is going to increment anyway, avoid confusion and name the assigned variable something else:
nv = n + dt/delta_t+1;
then use it for your calculations.

Chad Greene
Chad Greene 2017년 8월 11일
Yes, I see the problem. It does not make sense to have the for loop variable be the same name as a variable you're defining within the for loop. Perhaps you want something like
n2 = 0;
for n = 1:size(t,2)
...
n2 = n2 + dt/delta_t+1;
end
Or in some way separate n from n2.

Pultibus
Pultibus 2017년 8월 12일
Thank you for your answers! Sadly your hints couldn't help me. I did it in another way and my program works now.
Greetings
Pultibus

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by