How to specify number of decimals in table2word or writematrix
29 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Is it possible to write a double-valued matrix/array to a Word (or comma-separated text file) table with a specified format, e.g. a fixed-point notation with a specified number of decimals?
By default, writematrix seems to use "longg (15 digits of precision)" (see Guillaume's comment in
).
Function table2word seems to produce a fixed-point notation with 6 decimal digits, for example 0.999763. Four decimals would be enough for me, to limit the table size in the Word document.
0 comentarios
Respuesta aceptada
Voss
el 23 de Ag. de 2023
Editada: Voss
el 23 de Ag. de 2023
A random matrix:
M = rand(10,10); % matrix to write to file
fn = 'example.csv'; % file to write to
disp(M); % show the matrix for reference
One way to write the file:
fid = fopen(fn,'w');
fprintf(fid,[repmat('%.4f,',1,size(M,2)) '\n'],M.');
fclose(fid);
type(fn); % check the file
Another way:
C = compose('%.4f,',M.');
C(end+1,:) = {newline()};
fid = fopen(fn,'w');
fprintf(fid,'%s',C{:});
fclose(fid);
type(fn); % check the file
0 comentarios
Más respuestas (2)
Daniel Bengtson
el 23 de Ag. de 2023
Editada: Daniel Bengtson
el 23 de Ag. de 2023
You can use fprintf to do that.
fid1 = fopen('filename.csv', 'w');
fprintf(fid1,'%.4f',0.999763425634234234);
1 comentario
Walter Roberson
el 23 de Ag. de 2023
For the case of a text file, dlmwrite supports a Precision parameter that can be number of digits or can be a format specification.
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!