How to write matrix to txt or excel file with specific precision

13 views (last 30 days)
I have a 100*100 matrix that I need to save it in a txt or excel file with high precision. This the code I use:
fid = fopen('data.txt', 'w+');
for j = 1:size(s, 2)
for i = 1:size(s, 1)
fprintf(fid, '%2.20f \n', s(i,j));
end
end
The problem in the output, it saves all the values in one line. Any ideas.

Accepted Answer

Stephen23
Stephen23 on 7 Oct 2018
Edited: Stephen23 on 7 Oct 2018
You don't need a loop. Try this:
M = your matrix
fmt = repmat(',%2.20f',1,size(M,2));
fmt = [fmt(2:end),'\n'];
[fid,msg] = fopen('data.csv', 'wt');
assert(fid>=3,msg)
fprintf(fid,fmt,M.')
fclose(fid);

More Answers (0)

Categories

Find more on Characters and Strings in Help Center and File Exchange

Tags

Products


Release

R2017b

Community Treasure Hunt

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

Start Hunting!