How to create a cell array of different data type?
8 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I am trying to create a cell array of different data type to a single matrix
- Take the first eleven columns. Some columns have decimals and characters.
- Take all the rows of data and store them on one single matrix
I am proceding the following way,
clc,clear all
urlwrite('http://www.ndbc.noaa.gov/data/realtime2/41053.txt','SJ.txt'); % URL from CARICOOS
fid = fopen( 'SJ.txt', 'rt' );
DataCell = textscan(fid, '%d%d%d%d%d%d%f%f%s%s%s*[^\n]', 'HeaderLines', 2, 'CollectOutput', 1) ;
fclose(fid);
Data = cell2mat(DataCell);
MATLAB outputs this error,
??? Error using ==> cell2mat at 47
All contents of the input cell array must be of the same data type.
Error in ==> SJ_F at 11
Data = cell2mat(DataCell);
This is the way I want it stored
Data =
Columns 1 through 10
'2013' '02' '23' '23' '50' '110' '5.0' '7.0' 'MM' 'MM'
Column 11
'MM' % This is just one row of the data.
Could you please help?
0 comentarios
Respuesta aceptada
per isakson
el 24 de Feb. de 2013
Editada: per isakson
el 24 de Feb. de 2013
Documentation says:
A = cell2mat(C) converts cell array C with contents of the **same** data type
into a single array, A.
Thus
Data = cell2mat(DataCell);
is not possible in your case since DataCell contains both numeric and character data.
However, DataCell as returned by textscan is close as is
cell_array_of_different_data_type = DataCell{1};
0 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Cell Arrays 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!