convert cell 2 double with a table inside

4 ビュー (過去 30 日間)
Megha
Megha 2018 年 12 月 10 日
コメント済み: Astha Singh 2018 年 12 月 14 日
I have a matrix A containing cell array 12x1 which has table inside with dimension 86400x24 in each cell.
I would like to convert this matrix A to double. Is there any way?
Please note I want to keep the cells and hence table concantenated in the output. I do not wish to convert each
cell individually. I want to convert matrix A
  4 件のコメント
madhan ravi
madhan ravi 2018 年 12 月 10 日
so upload your data as .mat file
Guillaume
Guillaume 2018 年 12 月 13 日
A cell array is not a matrix.
A table is not a matrix either.
Do you want to:
  • convert each table into matrices (assuming every variable of the table is numeric) and then concatenate the whole lot vertically?
  • or simply concatenate all the tables into a single table (assuming all the tables have the same variables)

サインインしてコメントする。

回答 (1 件)

Astha Singh
Astha Singh 2018 年 12 月 13 日
Based on the information provided, I can suggest you to employ a for-loop to convert each table to an array, using the function 'table2array()', and keep concatenating it to your desired matrix. Look at the following code for example:
fin_mat = [];
for =1:length(c)
fin_mat = [fin_mat ; table2array(c{i})];
end
Here, 'c' is the cell array of tables.
  3 件のコメント
Stephen23
Stephen23 2018 年 12 月 13 日
@Astha Singh: expanding numeric arrays within loops is not efficient, and the MATLAB documentation recommends using more efficient ways to write code:
This can be easily avoided in this case e.g. placing the data into a preallocated cell array and concatenating after the loop, or using cellfun as Guillaume showed.
Astha Singh
Astha Singh 2018 年 12 月 14 日
Sure. Thanks, I missed that.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeData Type Conversion についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by