2

for ループでは、for ループからの最後の結果のみを保持できます。forループを終了するたびにデータを保存したい。すべての変数が if ステートメントを満たすわけではないため、for ループのインデックスを配置できません。私のコードは次のとおりです。

c=[1 3 2 3 3];p=[0 0 1 2 1];level2=[1 3];
for j=1:length(level2)
    for i=1:length(p)
        a=[p(i),c(i)]';
        if a(1,:)==level2(j)
            level3=a(2)
        else
        end
    end
end

level3では、 for ループからのすべての結果をベクトルとして作成するにはどうすればよいでしょうか? pcおよびlevel2は動的な値である必要がありますが、ここでは例をより簡単にするために静的になっていることに注意してください。

4

1 に答える 1

0

以下を試すことができます

c=[1 3 2 3 3];p=[0 0 1 2 1];level2=[1 3];
level3=[];
for j=1:length(level2)
    for i=1:length(p)
        a=[p(i),c(i)]';
        if a(1,:)==level2(j)
            level3=[level3, a(2)];
        else
        end
    end
end

たとえば、反復の結果を現在のベクトルの最後に追加します。

于 2012-10-17T15:30:57.617 に答える