2

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

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 回答