如何在if循环中存储if语句中的数据

时间:2012-10-17 15:21:55

标签: matlab loops for-loop

在for循环中,您只能保留for循环的最后结果。我希望每次从for循环完成后保存数据。我无法输入for循环的索引,因为并非所有变量都满足if语句:我的代码是:

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循环中所有结果的向量?请注意,pclevel2应该是动态值,但在这里它们是静态的,以使示例更容易。

1 个答案:

答案 0 :(得分: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

,例如,您将迭代结果附加到当前向量的末尾。