How can I set the table parameter in .txt output

2 次查看(过去 30 天)
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

采纳的回答

Rik
Rik 2021-5-9
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

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by