[問題] 關於for迴圈 重複第i=k時的問題

看板MATLAB作者 (大衛)時間13年前 (2012/03/29 03:50), 編輯推噓0(006)
留言6則, 1人參與, 最新討論串1/1
有點長先感謝大家。 先貼一小段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)

03/29 18:32, , 1F
首先你的break只會中止d3的迴圈,跟你的i迴圈扯不上關
03/29 18:32, 1F

03/29 19:05, , 2F
系,其次matlab跟C很不同,C的基本資料型別都是scalar
03/29 19:05, 2F

03/29 19:06, , 3F
,就算宣告成array還是必須用for來依序存取,matlab的
03/29 19:06, 3F

03/29 19:07, , 4F
基本資料型別為double的matrix,所以你在matlab中最好
03/29 19:07, 4F

03/29 19:08, , 5F
用矩陣來運算,這樣可減少迴圈數,矩陣運算可讓matlab
03/29 19:08, 5F

03/29 19:09, , 6F
來做最佳化
03/29 19:09, 6F
文章代碼(AID): #1FSsjnSl (MATLAB)