Matlab,保存数组中的输出,循环

时间:2017-03-15 17:41:14

标签: arrays matlab output store

我想创建一个数组,每次执行循环时都可以存储输出。我认为问题是因为在每次新的迭代中,数字从头开始计数,所以它只存储最后一次迭代!在每次迭代中,输出都是array(7x3),所以总共我必须有(28,3)。但是我尝试了很多,而且除了最后7行之外,我还是使用零来获取ARRAY (28,3)。 非常感谢你

您可以看到以下代码:

 for t=1:ncell % in my case I have 4 cells
    ti=sort(T,2)              
    tt= sort(Cell{t}.ExBot,2)
    tq= sort(Cell{t}.ExTop,2)
    te= sort(Cell{t}.ExBT,2)
    %k=0
    z=0
    cc=[]
    %%%%% for exbottom
    I=ones(size(ti,1),1);
    for j=1:size(tt,1)
        for i=1:size(ti,1)
            if tt(j,:)==ti(i,:)
                k=k+1 ;
                %c(k,:)=[ti(j,:), ti(j+1,:)]
                I(i)=0;

                cc(k,:)=Y(i,:);
                cc(size(tt,1)+1,:)=cc(1,:)




            else
            end

        end


    end

end

1 个答案:

答案 0 :(得分:0)

虽然评论中提到的更多信息会有所帮助,但根据您提供的信息,当您开始处理每个单元格时,问题很可能是将cc设置为空。

cc=[];

在退出最外层循环时,您将只有最后一次迭代的结果。

在相关说明中,您可能希望使用isequalall来比较矢量,例如if isequal(tt(j,:),ti(i,:))