matlab char array to cell array

bdavies6086 picture bdavies6086 · Sep 1, 2014 · Viewed 12.5k times · Source

say I have an array of chars which looks like....

   hello
   hillo
   hello

and I would like to convert them to a cell array which would be the same as...

     A = {'hello';'hillo';'hello'}

how would I go about doing this, I've tried using mat2cell but it appears to just put everything into one large cell and doesn't really split them up.. So say for example with the original array of chars it would output like this if i put

     A = mat2cell(arrayofchars)

     [3x5 char]

    instead of the preferred output of...

     'hello'
     'hillo'
     'hello'

Sorry if I haven't explained my problem very well! Im quite new to matlab!

Cheers!

Answer

Stewie Griffin picture Stewie Griffin · Sep 1, 2014

You can use the function cellstr to do this, as proposed by Divakar.

A = ['hello'
     'hillo'
     'hello']

C = cellstr(A)
C =     
    'hello'
    'hillo'
    'hello'