writematrix: how to get formatted txt-output?
17 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
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 comentarios
Respuestas (3)
Stephen23
el 24 de Sept. de 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 comentarios
Aquatris
el 24 de Sept. de 2024
Editada: Aquatris
el 24 de Sept. de 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 comentarios
SACHIN KHANDELWAL
el 24 de Sept. de 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 comentario
Stephen23
el 24 de Sept. de 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
Ver también
Categorías
Más información sobre Text Files en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!