How can I set the table parameter in .txt output

1 Ansicht (letzte 30 Tage)
M.R. Ebrahimi
M.R. Ebrahimi am 9 Mai 2021
Kommentiert: M.R. Ebrahimi am 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

Akzeptierte Antwort

Rik
Rik am 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

Weitere Antworten (0)

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by