作者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)
1F:→ mp19990920:首先你的break只会中止d3的回圈,跟你的i回圈扯不上关 03/29 18:32
2F:→ mp19990920:系,其次matlab跟C很不同,C的基本资料型别都是scalar 03/29 19:05
3F:→ mp19990920:,就算宣告成array还是必须用for来依序存取,matlab的 03/29 19:06
4F:→ mp19990920:基本资料型别为double的matrix,所以你在matlab中最好 03/29 19:07
5F:→ mp19990920:用矩阵来运算,这样可减少回圈数,矩阵运算可让matlab 03/29 19:08
6F:→ mp19990920:来做最佳化 03/29 19:09