I need to ingest a CDF (common data format) file into MATLAB. I have used the [cdfread
][1] command for this purpose. An image of my output is attached below:
When I open data_import
, columns 4 and 5 are in a particular 3 x 1
format (as shown in data_import(1,4)
).
My question is: Is there a simple way to extract the data for each cell in column 4, such that for the 2nd row in data_import(1,4)
, it gets inserted as a new column (i.e. column 5) in the original data (data_import
)? Similarly, 3rd row in data_import(1,4)
should be inserted as a new column (column 6) in the original data (data_import
). This procedure should also be repeated in the original Column 5 data which also has a similar 3 x 1
structure within each cell.
I hope I'm not being too vague in what I am describing, but I'm really not sure what I'm supposed to do regarding the commands to call for the operation. Thank you in advance.
Your desired final output has columns which are made up of these cells converted from 3 x 1
arrays to 1 x 3
cell arrays and then concatenated for each row. It's easier to do the concatenation first with the elements the "wrong way round" and then transpose the final result:
data_import = [data_import(:,1:3) num2cell([data_import{:,4}; data_import{:,5}]') data_import(:,6:end)];