世紀 發問時間: 電腦與網際網路程式設計 · 1 0 年前

matlab 如何跳出雙回圈??

mount=0;

for x=-2:2

for y=-2:2

mount=mount+abc_1(i+x,j+y)+abc_2(i+x,j+y);

if mount >= 500

break

end

end

end

如果mount大於500的話,

我想要讓它跳出雙回圈,

而matlab沒有goto這個指令,

那我需要如果做呢??

還有,我很在意運算時間,

所以希望可以跳出雙迴圈,

而不是略過雙迴圈,

所謂略過雙迴圈是是....不執行mount=mount+abc_1(i+x,j+y)+abc_2(i+x,j+y);這個

但是它還是會跑完x跟y.....我不要這種方法!!

大家有沒有可以幫忙一下的?

謝謝~~~到處都找不到~~~~

已更新項目:

咦~~~~因為上面那個雙迴圈....又包含在其他迴圈裡,

如果按照 peecehood 大所補充的這樣...程式應該會出問題才對.......,至於 tommekimo大提的方法我有想過,但是這個應該要賭運氣.......因為多一個判斷式......怕會影響時間,我會試驗 tommekimo大的方式,希望還有哪位程式高手有辦法解決在matlab裡面的這個問題~~~~

2 個解答

評分
  • ?
    Lv 4
    1 0 年前
    最佳解答

    這樣如何,是你想要做的嗎?

    在MATLAB只可以降囉

    mount=0;

    for x=-2:2

    for y=-2:2

    mount = mount+abc_1(i+x,j+y)+abc_2(i+x,j+y);

    if mount >= 500

    break

    end

    end

    %add another statement

    if mount >= 500

    break

    end

    end

    參考資料: None
    • Commenter avatar登入以對解答發表意見
  • 1 0 年前

    雙迴圈可以用break;跳出,break;是跳出最頂層迴圈外。

    • Commenter avatar登入以對解答發表意見
還有問題?馬上發問,尋求解答。