fprintf for cell array data

8 views (last 30 days)
sermet OGUTCU
sermet OGUTCU on 18 Nov 2021
Commented: Yongjian Feng on 18 Nov 2021
data_double = 32 x 7 double
fprintf(fid,'%02d %.3f %.3f %.3f %.3f %.3f %.3f\n', data_double.');
It prints the data_double in a text file with 32 rows and 7 columns.
I have a cell data consists of char and double columns as follows:
1×3 cell array
{32×3 char} {32×3 double} {32×3 double}
I need to print this data_cell in a text file using the similar type as print of data_double (i.e, 32 rows and 7 columns). When I tried;
fprintf(fid,'%02s %.3f %.3f %.3f %.3f %.3f %.3f\n', data_cell.');
Error using fprintf
Function is not defined for 'cell' inputs.

Accepted Answer

Yongjian Feng
Yongjian Feng on 18 Nov 2021
Try to convert your cell data into char first.
Yongjian Feng
Yongjian Feng on 18 Nov 2021
Maybe you want to list out the cell one by one like this:
fprintf(fid,'%02d %.3f %.3f %.3f %.3f %.3f %.3f\n', data_double{1}, num2str(data_double{2}), num2str(data_double{3}), num2str(data_double{4}), num2str(data_double{5}), num2str(data_double{6}), num2str(data_double{7}));

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!