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

32 vues (au cours des 30 derniers jours)
mahaju
mahaju le 10 Sep 2013
Commenté : Mohamad Mossad le 9 Fév 2020
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?

Réponses (2)

Walter Roberson
Walter Roberson le 10 Sep 2013
save windparam.dat awindow -ascii -double

Azzi Abdelmalek
Azzi Abdelmalek le 10 Sep 2013
Modifié(e) : Azzi Abdelmalek le 10 Sep 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 commentaire
Jan
Jan le 10 Sep 2013
Modifié(e) : Jan le 10 Sep 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.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Workspace Variables and MAT-Files dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by