writematrix: how to get formatted txt-output?
11 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have been using "dlmwrite" to get nicely formatted text output:
dlmwrite('file.txt',M,'delimiter',' ','precision','%10.2f');
txt-file looked like:
100.00 0.00 4500.00
0.00 1.00 38.29
1.00 1.00 38.22
As "dlmwrite" is not recommended anymore, I tried to use "writematrix" instead. But it does not have "precision" parameter:
writematrix(round(M,2),'file.txt','Delimiter',' ');
txt-file is not so nicely formatted:
100 0 4500
0 1 38.29
1 1 38.22
That's a problem especially with bigger matrices, as offset between lines is getting bigger and bigger, and I can not recognize columns anymore. Is there any way to fix this?
0 commentaires
Réponses (3)
Stephen23
le 24 Sep 2024
M = [100,0,4500;0,1,38.29;1,1,38.22]
S = join(compose("%10.2f",M),'');
writelines(S,"test.txt")
Checking:
type test.txt
0 commentaires
Aquatris
le 24 Sep 2024
Modifié(e) : Aquatris
le 24 Sep 2024
Use 'tab' delimiter option instead of single space.
M = [100 0 4500;0 1 38.29;1 1 38.22];
writematrix(round(M,2),'file.txt','Delimiter',' ');
type('file.txt')
writematrix(round(M,2),'file2.txt','Delimiter','tab');
type('file2.txt')
0 commentaires
SACHIN KHANDELWAL
le 24 Sep 2024
Hi,
Seems that you want to use 'precision' as key value pair with 'writematrix'. I think this is currently limitation. I found the following workaround working :
M = magic(5)*pi; % Create a 5x5 matrix of numeric values
s = num2str(M,3); % create a character array that represents the numeric values in "M" with 3 significant digits
T = str2num(s); % convert "s" back into a numeric matrix.
writematrix(T,'myFile.txt','Delimiter',' ');
1 commentaire
Stephen23
le 24 Sep 2024
In case anyone is wondering:
M = [100,0,4500;0,1,38.29;1,1,38.22]
s = num2str(M,3); % create a character array that represents the numeric values in "M" with 3 significant digits
T = str2num(s); % convert "s" back into a numeric matrix.
writematrix(T,'myFile.txt','Delimiter',' ');
type myFile.txt
Voir également
Catégories
En savoir plus sur Text Files dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!