Matlab では、for ループ中に計算を実行していますが、特定の基準が満たされた場合に 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
誰かアドバイスがあれば、それは大歓迎です。ありがとうございました!