How to specify number of decimals in table2word or writematrix
31 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentare
Akzeptierte Antwort
Voss
am 23 Aug. 2023
Bearbeitet: Voss
am 23 Aug. 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 Kommentare
Weitere Antworten (2)
Daniel Bengtson
am 23 Aug. 2023
Bearbeitet: Daniel Bengtson
am 23 Aug. 2023
You can use fprintf to do that.
fid1 = fopen('filename.csv', 'w');
fprintf(fid1,'%.4f',0.999763425634234234);
1 Kommentar
Walter Roberson
am 23 Aug. 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.
Siehe auch
Kategorien
Mehr zu Text Files finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!