writetable or dlmwrite to save an array as a txt file

8 ビュー (過去 30 日間)
Simon Lind
Simon Lind 2024 年 2 月 21 日
コメント済み: Voss 2024 年 4 月 12 日
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!

採用された回答

Voss
Voss 2024 年 2 月 21 日
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

その他の回答 (2 件)

Walter Roberson
Walter Roberson 2024 年 2 月 21 日
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 2024 年 4 月 12 日
thank you very much for you help!

カテゴリ

Help Center および File ExchangeText Files についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by