Search code examples
matlabcopycell

Copy cell content from a column to another column in matlab


How should I copy all my cell content in a column to another column in the same cell. e.g.

a{1,1}=[1 2];
a{2,1}=[3 4 5];
a = 
[1x2 double]    []
[1x3 double]    []

then,I'd like to copy all cell contents of this column to another column say column 2 without copying all rows separately using for. I used

a{:,3}=  a{:,2}
The right hand side of this assignment has too few values to satisfy the left hand side.

it seems that a{:,2} is not working as it returns different values in different run. So here : doesn't work? As an output I'd like to have the same elements as copying cells to my new cell homes. i.e.

a{1,2}=[1 2];
a{2,2}=[3 4 5];

So, a will be

a = 
 [1x2 double]  [1x2 double]    
 [1x3 double]  [1x3 double]

Solution

  • You need to use brackets instead if braces in this case.

    Try it like this:

    a = {[0 1];[2 3];[4 5];};
    a(:,2) = a(:,1);