writetable or dlmwrite to save an array as a txt file

8 visualizzazioni (ultimi 30 giorni)
Hello community
I need to save a txt file like this one
1 -26.2 -31.7
2 -27.1 -33.9
3 -25.5 -30.2
4 -24.4 -30.8
starting from this array
1.0000 -26.2000 -31.7000
2.0000 -27.1000 -33.9000
3.0000 -25.5000 -30.2000
4.0000 -24.4000 -30.8000
writetable seems to have limitations. Is there any other way?
Thank you!

Risposta accettata

Voss
Voss il 21 Feb 2024
Here's one way:
M = [
1.0000 -26.2000 -31.7000
2.0000 -27.1000 -33.9000
3.0000 -25.5000 -30.2000
4.0000 -24.4000 -30.8000
];
filename = 'your_file.txt';
% write the file:
fid = fopen(filename,'w');
fprintf(fid,'%2d %.1f %.1f\n',M.');
fclose(fid);
% check the result:
type(filename)
1 -26.2 -31.7 2 -27.1 -33.9 3 -25.5 -30.2 4 -24.4 -30.8

Più risposte (2)

Walter Roberson
Walter Roberson il 21 Feb 2024
M = [
1.0000 -26.2000 -31.7000
2.0000 -27.1000 -33.9000
3.0000 -25.5000 -30.2000
4.0000 -24.4000 -30.8000
];
writematrix(M, 'your_file.txt', 'delimiter', ' ');
type your_file.txt
1 -26.2 -31.7 2 -27.1 -33.9 3 -25.5 -30.2 4 -24.4 -30.8

Simon Lind
Simon Lind il 12 Apr 2024
thank you very much for you help!

Community Treasure Hunt

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

Start Hunting!

Translated by