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?

回答 (2 件)

Walter Roberson
Walter Roberson 2013 年 9 月 10 日
save windparam.dat awindow -ascii -double
Azzi Abdelmalek
Azzi Abdelmalek 2013 年 9 月 10 日
編集済み: Azzi Abdelmalek 2013 年 9 月 10 日
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 件のコメント

Jan
Jan 2013 年 9 月 10 日
編集済み: Jan 2013 年 9 月 10 日
+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.

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeWorkspace Variables and MAT Files についてさらに検索

質問済み:

2013 年 9 月 10 日

コメント済み:

2020 年 2 月 9 日

Community Treasure Hunt

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

Start Hunting!

Translated by