MATLAB Answers

0

How do I store output from double for loops, I only get the last iteration?

Asked by Linus Dock on 6 Oct 2016
Latest activity Commented on by Linus Dock on 6 Oct 2016
Accepted Answer by KSSV
Hi, I have forgot how to store my output from the following for loop. I only recover the last iteration of my outer for loop but I would like to store all the data in either one long cell or one cell for each iteration. Is it possible to this and in that case could someone please help? The output cell is flygplatsmetar.
Thank you!
for l = 1:length(Data);
s = strfind(Data{l},a);
empty=zeros(1,length(Data{l}))';
j=0;
for k = 1:length(Data{l})
ind = find(s{k});
if ind==1;
empty(k)=j+1;
end
end
metar = find(empty);
Nydata = Data{l};
flygplatsmetar = Nydata(metar);
end

  0 Comments

Sign in to comment.

2 Answers

Answer by KSSV
on 6 Oct 2016
 Accepted Answer

flygplatsmetar = cells(length(Data),1) ;
for l = 1:length(Data);
s = strfind(Data{l},a);
empty=zeros(1,length(Data{l}))';
j=0;
for k = 1:length(Data{l})
ind = find(s{k});
if ind==1;
empty(k)=j+1;
end
end
metar = find(empty);
Nydata = Data{l};
flygplatsmetar{l} = Nydata(metar);
end

  2 Comments

The commend is 'cell', not 'cells'...

Sign in to comment.


Answer by elias GR on 6 Oct 2016

flygplatsmetar = cell(1,length(Data)); %initialize your 1D cell array
for l = 1:length(Data)
...
flygplatsmetar{l} = Nydata(metar); %store the data
end

  1 Comment

Hi! I have Another question: How can I merge these cells from
<1x6 cell>
into one long cell. I can't get it to work iteratively inside the for loop. The manual code I'm trying to replicate is:
flygplatsmetar=[Utcell{1};Utcell{2};Utcell{3}]
Here Utcell is my Output from the for-loop instead and flygplatsmetar is the long cell I'm trying to constuct. Thank you for your reply!

Sign in to comment.