将数据从Matlab导出到文本文件

时间:2017-02-14 08:07:37

标签: matlab file csv text

全部,我认为文本文件可能是将Matlab输出导出到文本文件的最简单方法(因为csvwrite仅支持数值,而xlswrite在处理日期/时间时可能会很痛苦)

我的数据由日期,时间戳,字符串(股票名称),值(股票价值)组成。数据还具有列名称作为标题。 请问,我如何将我的数据导出到文本文件(我将其作为csv读取)。我做了大量的阅读,但我仍然被卡住了。

对初学者有什么建议吗?非常感谢

1 个答案:

答案 0 :(得分:0)

  

fprintf()是你的朋友。

但是,我将在这里写下一个小例子:

将指数函数的简短表写入名为exp.txt的文本文件

x = 0:.1:1;
A = [x; exp(x)];

fileID = fopen('exp.txt','w');
fprintf(fileID,'%6s %12s\n','x','exp(x)');
fprintf(fileID,'%6.2f %12.8f\n',A);
fclose(fileID);

第一次调用fprintf打印头文本x和exp(x),第二次调用打印变量A中的值。

如果您打算使用Microsoft®Notepad读取文件,请使用'\ r \ n'而不是'\ n'来移动到新行。例如,使用以下内容替换对fprintf的调用:

fprintf(fileID,'%6s %12s\r\n','x','exp(x)');
fprintf(fileID,'%6.2f %12.8f\r\n',A);

MATLAB®导入功能,所有UNIX®应用程序以及Microsoft Word和WordPad将'\ n'识别为换行符指示符。

使用type命令查看文件的内容。

type exp.txt

     x       exp(x)
  0.00   1.00000000
  0.10   1.10517092
  0.20   1.22140276
  0.30   1.34985881
  0.40   1.49182470
  0.50   1.64872127
  0.60   1.82211880
  0.70   2.01375271
  0.80   2.22554093
  0.90   2.45960311
  1.00   2.71828183

Here您可以找到更多信息和几个示例。