Concatenation of nested cell in one array and writing in text file

1 view (last 30 days)
How do I rearrange a 8x1 nested cell into one long cell array (variable attached). Each (from 8) cell includes 2x1 cell. My goal is twofold:
  1. saving the of the 8x1 nested cell in a cell array
  2. writing the unnested cell array to a text file
Thanks!

Accepted Answer

Jan
Jan on 26 Apr 2021
Data = load('nestedCell.mat');
C = cat(2, Data.nestedCell{:});
FID = fopen('YourFile.txt', 'w');
fprintf(FID, '%-8s%g\n', C{:});
fclose(FID)
  2 Comments
Nazar Adamchuk
Nazar Adamchuk on 26 Apr 2021
fprintf(FID, '%-8s%g\n', C{:});
I understood everything except this part: '%-8s%g\n'. What does 8 mean? If it means the number of cells in the original nested array, how I can change my code in case if do not know how many cells the nested array conatins.
Jan
Jan on 26 Apr 2021
Edited: Jan on 26 Apr 2021
Try it:
fprintf('*%-8s*\n', 'asd')
*asd *
fprintf('*%8s*\n', 'asd')
* asd*
The 8 is the number of chars reserved for the output. With - the string is moved to the left, without - to the right. So this is only to have a nice formatted output. See:
doc fprintf

Sign in to comment.

More Answers (0)

Categories

Find more on Cell Arrays 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!