How can I set the table parameter in .txt output

1 vue (au cours des 30 derniers jours)
M.R. Ebrahimi
M.R. Ebrahimi le 9 Mai 2021
Commenté : M.R. Ebrahimi le 9 Mai 2021
I want to wirte a txt file which its elements space will be exactly 2 space. For example:
12667 576614.0000 3723897.0000 852.0000 6.0000 1750.0000
The code i wrote is the following:
FID=fopen('Header.txt','w');
fprintf(FID,'%i %3.4f %3.4f %3.4f %3.4f %3.4f\n',Table); (Table is the 6*100 matrix I wanna to write)
fclose(FID);
My problem is that the output txt file elemnts space are 1 instead of 2 (12667 576614.0000 3723897.0000 852.0000 6.0000 1750.0000)
How can I modify the code?
Thanks

Réponse acceptée

Rik
Rik le 9 Mai 2021
Because you didn't tell Matlab to use 2 spaces in the FormatSpec. Compare the two versions below (the second line is to provide a scale to check for double spacing).
data=[12667 576614.0000 3723897.0000 852.0000 6.0000 1750.0000];
fprintf('%i %3.4f %3.4f %3.4f %3.4f %3.4f\n',data);fprintf('%d',mod(0:80,10))
12667 576614.0000 3723897.0000 852.0000 6.0000 1750.0000 012345678901234567890123456789012345678901234567890123456789012345678901234567890
fprintf('%i %3.4f %3.4f %3.4f %3.4f %3.4f\n',data);fprintf('%d',mod(0:80,10))
12667 576614.0000 3723897.0000 852.0000 6.0000 1750.0000 012345678901234567890123456789012345678901234567890123456789012345678901234567890

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by