Convert array of cells to array of doubles

1 次查看(过去 30 天)
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

采纳的回答

Star Strider
Star Strider 2014-12-7
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 个评论
Erik de Boer
Erik de Boer 2014-12-7
Thanks SS, that put me on the right track. I just had to concatenate them.
northing_raw = [northing_raw{:}];
Northing = cellfun(@str2num,northing_raw);

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by