fprintf for cell array data

10 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:
data_cell=
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.
char(the_cell_you_want_to_print)
  2 Comments
sermet OGUTCU
sermet OGUTCU on 18 Nov 2021
char(data_cell) gave this error:
Error using char
Cell elements must be character arrays.
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)

Categories

Find more on Data Type Conversion in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!