在Matlab中,我在for循環中執行計算,但是如果滿足某些條件,我試圖找到一種在for循環中跳過迭代的方法。我寫了一個快速的例子來說明我的問題。在MATLAB中,如果滿足某些條件,如何跳過預定數量的for循環迭代?
在下面的代碼中,for循環將經過迭代1和2並按預期輸出到r中。 r(1)將是1,r(2)將是2.一旦for循環遍歷迭代3,值20將被放置到r(3)中。在這之後,我想讓for循環跳過接下來的5次迭代,直接進入for循環的迭代8。
for i=1:1:10
if i==3
r(i)=20;
i = i+5;
else
r(i) = i;
end
end
R的實際結果如下:
r =
1 2 20 4 5 6 7 8 9 10
不過,我想對於結果出現類似於以下。 (請注意,我不看,以填補所需的R(4):R(7)0,而是看4至7以跳過循環迭代完全)
r =
1 2 20 0 0 0 0 8 9 10
如果任何人有意見,這將不勝感激。謝謝!
謝謝您的信息,包括預先分配的額外信息! – Aaron
沒問題,我通常使用大型矢量,但開發並不是一個壞習慣! :) –
順便說一下,你的代碼不起作用的原因是,MATLAB實際上存儲自己的「參考」,我在for循環中使用,所以雖然你可以得到我,你不能編輯的價值。我忘了它是如何工作的,但是我記得當我是編程新手時,我看了起來,有點有趣哈哈 – Shaun314