作者Leedavid (大衛)
看板MATLAB
標題[問題] 關於for迴圈 重複的問題
時間Thu Mar 29 03:50:06 2012
有點長先感謝大家。
先貼一小段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