Search code examples
matlabvectorcell-array

How to change a cell array into vector in matlab?


I have a cell array which each cell is a point on (x,y) coordination (i.e, the cells are of size [1x2]). Is it possible to change it to matrix that those coordination points to be reserved?

Because when I used cell2mat, the peculiar coordination was change to the size of [1x1] while I need the coordinates.

my cell array is like this: [0,2] [0,2] [1,3] [-13,10] [1,4] [-1,5]

How I can change it to a vector that these coordinates can be used later for plotting?


Solution

  • >> myCell = {[1 2],[3 4],[5 6]}; %// example cell. Can have any size/shape
    >> result = cell2mat(myCell(:)) %// linearize and then convert to matrix
    result =
         1     2
         3     4
         5     6
    

    To plot:

    plot(result(:,1),result(:,2),'o') %// or change line spec