convert cell 2 double with a table inside
4 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
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 comentarios
Guillaume
el 13 de Dic. de 2018
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)
Respuestas (1)
Astha Singh
el 13 de Dic. de 2018
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 comentarios
Stephen23
el 13 de Dic. de 2018
@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.
Ver también
Categorías
Más información sobre Data Type Conversion en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!