看板 MATLAB 關於我們 聯絡資訊
例如 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
jatj:因為你K/5==0根本沒有成立過 你應該想用mod(k,5)或rem(k,5)吧 05/13 02:27
suzihao:Sorry 我那個k/5那個只是舉例,我只是想要當那個if成立後 05/13 02:32
suzihao:下面的i值能改變for迴圈的i 05/13 02:32
sunev:matlab 的for loop index是無法被改變的,這是feature 05/13 03:05
jatj:真的要改可以用while loop 05/13 05:14
profyang:或用break跳出 05/13 23:11
TETZ:可以for i=1:3:100 等於每次加3一直到100 但就是break 05/14 13:19
TETZ:再用另一個for跑吧 05/14 13:19
jatj:通常是不建議改for loop 的counter的... 05/14 14:38
samcheery:用continue跟mod應該可以完成 05/18 14:01