作者suzihao (ISMY)
看板MATLAB
標題[問題]for迴圈的條件式變數可否改變?
時間Mon May 13 02:20:01 2013
例如
k=0;
for i=1:100
k(i)=i+1;
if (k/5)==0
i=i+3;
end
end
也就是說我希望if條件發生後i會自動往後跳3
然後下一個進入for迴圈的i是i+3
可是我試過不會動 他還是乖乖地每次跳i+1
請問我該怎麼改寫?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 112.105.169.104
1F:→ jatj:因為你K/5==0根本沒有成立過 你應該想用mod(k,5)或rem(k,5)吧 05/13 02:27
2F:→ suzihao:Sorry 我那個k/5那個只是舉例,我只是想要當那個if成立後 05/13 02:32
3F:→ suzihao:下面的i值能改變for迴圈的i 05/13 02:32
4F:推 sunev:matlab 的for loop index是無法被改變的,這是feature 05/13 03:05
5F:→ jatj:真的要改可以用while loop 05/13 05:14
6F:推 profyang:或用break跳出 05/13 23:11
7F:推 TETZ:可以for i=1:3:100 等於每次加3一直到100 但就是break 05/14 13:19
8F:→ TETZ:再用另一個for跑吧 05/14 13:19
9F:→ jatj:通常是不建議改for loop 的counter的... 05/14 14:38
10F:推 samcheery:用continue跟mod應該可以完成 05/18 14:01