Matlab,将输出保存在数组中,循环

Matlab, save output in array , loop

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

您可以看到下面的代码:

 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

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

cc=[];

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

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