copying cells.. I thought it'd be simple

2 次查看(过去 30 天)
Mich
Mich 2012-12-16
Hi Everyone, Say I have a cell that looks like this: http://imgur.com/RcMRo
I'd like to copy "breakfast" into the next cell down its column UNTIL I hit a completely empty row. At this point, "breakfast" would be in all of the first three rows of the first column.
Then, I would like to proceed to copy dinner down into the next rows until I hit the next completely empty row.. and etc..
in the end the cell should look like this http://imgur.com/q2Unu
Please tell me if I am not explaining this clearly.
My attempt at this lead me through nested loops with calling a function.. and finally a script that basically killed MATLAB as it took 100% of my Processing power (probably because of my unintelligent use of while loops).. Anyway, I was hoping to ask you if you had a easier solution that does not kill my laptop..
Thank you very much!
  3 个评论
Matt Fig
Matt Fig 2012-12-16
Yes it looks like you are talking about tables, not cell arrays. In MATLAB a cell array is a specific thing. Please be clear about what you mean and give some code that can reproduce the data or the essential features.
Mich
Mich 2012-12-16
编辑:Mich 2012-12-16
I apologize! Using Jan's suggestion, mycell looks like this:
mycell= {1,'egg' ; [] 'egg' ; [] 'egg' ; [] [] ; 2, 'ham' ; [] 'ham' ; [] 'ham'}
Here is my thinking, there must need for a cellfun to be in there..
emptyrows=[5] %the row that is all empty in mycell
i=1 %counter
j=2 %counter
while j <= size(mycell,1)
if 1==isempty(mycell{j,1}) && mycell(j,1)~=emptyrows
%If statement wants an empty cell below it but NOT empty row
mycell{j,1}=in{i,1}; %update cell with the previous cell
i=i+1 %continue down the row..
j=j+1 %continue down the row..
elseif 1==isempty(mycell{j,1}) && mycell(j,1)~=emptyrows
i=i+2; %skip down to the next set
j=j+2; %skip down to the next set
else
end
end
GOAL: mycell= {1,'egg' ; 1, 'egg' ; 1 'egg' ; [], [] ; 2, 'ham' ; 2 'ham' ; 2 'ham'}
thank you again.. and yes my data is much bigger than this. More egg and more ham with more blank rows. But I thought if I can make this work... then I can make it work for my real dataset.

请先登录,再进行评论。

回答(0 个)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by