Convert array of cells to array of doubles

1 view (last 30 days)
Hello,
I'm trying to convert an array of cells to an array of doubles. However the cell array is shaped a bit unfortunate, with unnecessary nesting:
northing_raw 51x1 cell
northing_raw{1,1} 1x1 cell
northing_raw{1,1}{1,1} 1x9 char
e.g.:
northing_raw{1,1}{1,1} = 5923991.9
Is there a way to avoid loops when I want to create a double array?
Best, Erik

Accepted Answer

Star Strider
Star Strider on 7 Dec 2014
I cannot say if the nesting is unnecessary, but since cells by definition can contain variables of different types and sizes, you would likely have to create each double array separately.
However, if you have several different matrices of the same sizes and data types, you can concatenate them into a single array, but that’s the best you can hope for.
You will likely also have to loop through them.
  2 Comments
Erik de Boer
Erik de Boer on 7 Dec 2014
Thanks SS, that put me on the right track. I just had to concatenate them.
northing_raw = [northing_raw{:}];
Northing = cellfun(@str2num,northing_raw);

Sign in to comment.

More Answers (0)

Products

Community Treasure Hunt

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

Start Hunting!