copying cells.. I thought it'd be simple

2 vues (au cours des 30 derniers jours)
Mich le 16 Déc 2012
Hi Everyone, Say I have a cell that looks like this:
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
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 commentaires
Matt Fig
Matt Fig le 16 Déc 2012
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 le 16 Déc 2012
Modifié(e) : Mich le 16 Déc 2012
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
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.

Connectez-vous pour commenter.

Réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by