How do I export a cell array containing double arrays into an ASCII-file format?

9 views (last 30 days)
I have a cell array containing double arrays of one row and different length of columns. I want to export it into a file.

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 12 Oct 2021
Edited: MathWorks Support Team on 12 Oct 2021
The SAVE function will only save cell arrays to a MAT-file. To save your cell array to an ASCII-file, you will need to use the FPRINTF function to save cell arrays to an ASCII-file. The following example demonstrates how to save a cell array to an ASCII-file using the FPRINTF function:
x={[1 2] [2 3 4] [5 6 7 8]};
fid = fopen('cell_array.txt','w');
for i=1:length(x)
fprintf(fid,'%d ',x{i});
fprintf(fid,'\n');
end
fclose(fid);
type cell_array.txt
If you have a cell array which contains characters (or other non-numeric data) you will need to modify the above code to properly format your data in the text file. More information is available by executing the following command in MATLAB
doc fprintf
or in the following tech note on our website:
You can export a cell array containing double array of one row and different lengths of columns using the SAVE function in a MAT-file. The following is a sample code that you can use to achieve this:
x={[1 2] [2 3 4] [5 6 7 8]};
save cell_array % this will save the cell array x in file cell_array.mat
You can then import this data in MATLAB workspace using the LOAD function:
load cell_array
For more information about the SAVE and LOAD functions, refer to the MATLAB documentation using either "help save" or "doc save" (same for LOAD) commands at the MATLAB Command Prompt.

More Answers (0)

Products

Community Treasure Hunt

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

Start Hunting!