2016-11-16 12 views
0

私はこのループ構成を持っており、ベクトルのインデックスkを持つすべての値がそれぞれロードされます。 私は条件3が真であるとき、彼は関数を計算した後に同じ使用された値でループを再開することを管理したいと思う。私は条件の中でk=k-1のようなものを試しましたが、うまくいきませんでした。何か案は?条件が同じvauleでループが繰り返される

v=[v1,v2,v3,v4,v5,...] 

for k=1:n 
    if condition1 
     Function1 
    elseif condition2 
     Function2 
    elseif condition3 
     Function3 
end 

答えて

1

私はあなたがそれをmatlabで行うことはできますが、私は認めなければなりません。ループ内で変更できない別の変数として格納するかもしれません。

無限ループを起こさないように注意することをおすすめしますが、whileループを試してみてください。

k = 1; 
while k<=n 
    if condition1 
     Function1 
     k=k+1; 
    elseif condition2 
     Function2 
     k=k+1; 
    elseif condition3 
     Function3 
    end 
end 
+0

ありがとうございます。私はこのループを正確に2回実行する方法を知っていますか? – jdoubleu

+0

その場合、より多くの変数を導入することができ、 'while'ステートメントは複数の条件をチェックできます。論理の確かさは確かではありませんが、私はあなたがそれを理解できると確信しています。 – mpaskov

関連する問題