我想创建一个数组,每次执行循环时都可以存储输出。我认为问题是因为在每次新的迭代中,数字从头开始计数,所以它只存储最后一次迭代!在每次迭代中,输出都是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
答案 0 :(得分:0)
虽然评论中提到的更多信息会有所帮助,但根据您提供的信息,当您开始处理每个单元格时,问题很可能是将cc设置为空。
cc=[];
在退出最外层循环时,您将只有最后一次迭代的结果。
在相关说明中,您可能希望使用isequal
或all
来比较矢量,例如if isequal(tt(j,:),ti(i,:))