aligning data for fprintf
10 views (last 30 days)
Show older comments
for j=1:2
[a(j),b(j)]=size(char(FileName(:,j))); % b=[38 38]
[c(j),d(j)]=size(char(FileName2(:,j))); % d=[38 38]
first_space(j)=b(j)+4;
second_space(j)=d(j)+8;
end
fprintf(fid,'%*s %*s\n',max(first_space),' G',max(second_space),' G');
fprintf(fid, '\n\n');
for j=1:2
fprintf(fid,'%s %.1f %s %.1f\n', FileName{:,j}, data1(j), FileName2{:,j}, data2(j));
end
The above codes created the output txt file with aligned output data if the length of the Filenames are the same. For example:
FileName =
1×2 cell array
{'COD0MGXFIN_20210890000_01D_05M_ORB.SP3'} {'COD0MGXFIN_20210900000_01D_05M_ORB.SP3'}
FileName2 =
1×2 cell array
{'COD0MGXFIN_20210920000_01D_05M_ORB.SP3'} {'COD0MGXFIN_20210930000_01D_05M_ORB.SP3'}
If these FileNames are used, there is no problem for the alignment. I attached the output file (output_aligned.txt)
But, when the length of Filenames are different, the alignment cannot be maintained with the above codes. For example:
FileName =
1×2 cell array
{'COD0MGXFIN_20210920000_01D_05M_ORB.SP3'} {'COD20714.EPH_M'}
FileName2 =
1×2 cell array
{'COD0MGXFIN_20210890000_01D_05M_ORB.SP3'} {'COD20720.EPH_M'}
When using the above FileNames, the output file doesn't aligned. I attached the output file (output_non_aligned.txt) created the second part of above codes. How can I modify the above codes to write consistently aligned output regardless of the length of FileName and FileName2?
0 Comments
Accepted Answer
More Answers (1)
See Also
Categories
Find more on JSON Format 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!