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?

Respuestas (2)

Azzi Abdelmalek
Azzi Abdelmalek el 10 de Sept. de 2013
Editada: Azzi Abdelmalek el 10 de Sept. de 2013
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 comentario

Jan
Jan el 10 de Sept. de 2013
Editada: Jan el 10 de Sept. de 2013
+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.

Iniciar sesión para comentar.

Categorías

Preguntada:

el 10 de Sept. de 2013

Comentada:

el 9 de Feb. de 2020

Community Treasure Hunt

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

Start Hunting!

Translated by