看板 MATLAB 關於我們 聯絡資訊
有點長先感謝大家。 先貼一小段code for c=1:7 #1迴圈 for a=1:6 #2迴圈 for i=1:1000 #3迴圈 for j=1:1000 #4迴圈 for d1=1:g #4內之迴圈-1 end for d2=1:g #4內之迴圈-2 end for d3=1:1 #4內之迴圈-3 -3迴圈只執行一次 if (只一次是為了配合break,這樣才能跳到#4迴圈) elseif else break end end end end end end 原本,"迴圈-3"必須要執行1000次的, 後來想想用了break後,這樣迴圈-3的執行次數會減少(例如一次break會只執行999次) 我的想法是, 當#4迴圈在j=某k時, 若迴圈-3 break,則#4迴圈在j=某k重新執行一遍(迴圈-1和-2也一起重來沒關係)。 這樣迴圈-3就可以確保執行1000次。 請問這樣該如何改呢? 有某個專門的指令嗎? 謝謝大家~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 211.73.161.39 ※ 編輯: Leedavid 來自: 211.73.161.39 (03/29 04:00)
mp19990920:首先你的break只會中止d3的迴圈,跟你的i迴圈扯不上關 03/29 18:32
mp19990920:系,其次matlab跟C很不同,C的基本資料型別都是scalar 03/29 19:05
mp19990920:,就算宣告成array還是必須用for來依序存取,matlab的 03/29 19:06
mp19990920:基本資料型別為double的matrix,所以你在matlab中最好 03/29 19:07
mp19990920:用矩陣來運算,這樣可減少迴圈數,矩陣運算可讓matlab 03/29 19:08
mp19990920:來做最佳化 03/29 19:09