how do I save a double array in matlab to file as full precision double numbers?

I have an array of double variables which I save into a file using the command
save windparam.dat awindow -ascii
The array contains these values (using format long):
0.005000000000000
0.005008727005636
0.005034902724414
0.005078511265159
0.005139526153297
However, they are saved in the file as shown below:
5.0000000e-003
5.0087270e-003
5.0349027e-003
5.0785113e-003
5.1395262e-003
How can I get to save in the file in the same format as is shown in Matlab?

Answers (2)

a=[0.005000000000000
0.005008727005636
0.005034902724414
0.005078511265159
0.005139526153297]
b=sprintf('%.15f\n',a)
If you want to save in a text file
fid=fopen('file1.txt','w');
b=fprintf(fid,'%.15f\n',a)
fclose(fid)

1 Comment

+1, While the -double flag solves the problem for the save command, I'd prefer this approach based on fprintf, because it offers full control of the format.

Sign in to comment.

Asked:

on 10 Sep 2013

Commented:

on 9 Feb 2020

Community Treasure Hunt

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

Start Hunting!