使用Matlab在dat文件中的数据顶部写入文本

时间:2014-08-19 13:32:47

标签: matlab fwrite

我想创建一个类似这样的数据文件:

http://i61.tinypic.com/205fcj5.png

我开发了一个脚本文件来执行此操作:

fid = fopen('output.dat','w');
writetext = 'zone i=401, j=961';
fwrite(fid,writetext);
dlmwrite('output.dat',sort2,'delimiter','\t','precision','%.8f');
fclose(fid);

然而,当我运行此代码时,文件的文本部分,"区域i = 401,j = 961"消失,如下图所示:

http://i62.tinypic.com/k0kmqv.png

如何将数据文件的文本部分保留在文件的顶部?

1 个答案:

答案 0 :(得分:1)

您的代码存在两个问题:

    默认情况下,
  • dlmwrite会覆盖整个文件。使用'-append'选项可以避免这种情况(如评论中的@excaza所述)。
  • 标题后需要换行符号。为此,请使用fprintf并在标题后添加n\r\n。一般情况下,\n用于启动新行,但Windows中可能需要\r\n

通过这些更改,代码如下。改变的行是第三和第四。

fid = fopen('output.dat','w');
writetext = 'zone i=401, j=961';
fprintf(fid, '%s\r\n', writetext);
dlmwrite('output.dat',sort2,'-append','delimiter','\t','precision','%.8f');
fclose(fid);