Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将数据从Matlab导出到文本文件_Matlab_File_Csv_Text - Fatal编程技术网

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

将数据从Matlab导出到文本文件,matlab,file,csv,text,Matlab,File,Csv,Text,总之,我认为文本文件可能是将Matlab输出导出到文本文件的最简单的方法(因为csvwrite只支持数值,而xlswrite在处理日期/时间时可能会很麻烦) 我的数据由日期、时间戳、字符串(股票名称)、值(股票值)组成。数据也有列名作为标题。 请告诉我如何将数据导出到文本文件(然后我将以csv格式读取)。我读了很多书,但我还是被卡住了 对初学者有什么建议吗?非常感谢 fprintf()是您的朋友 然而,我将在这里写下一个小例子: 将指数函数的短表写入名为exp.txt的文本文件 x = 0:.1

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

我的数据由日期、时间戳、字符串(股票名称)、值(股票值)组成。数据也有列名作为标题。 请告诉我如何将数据导出到文本文件(然后我将以
csv
格式读取)。我读了很多书,但我还是被卡住了

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

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®记事本读取文件,请使用“\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和写字板将“\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

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

谢谢Leos313。我在matlab帮助中看到了这个例子,并尝试应用它,但它出现了一个错误,错误是“使用fprintf时出错,无法将类‘table’的对象转换为‘double’”?还有如何使用fprint处理字符串、日期和时间戳?谢谢分享你的代码,这样我们可以尝试复制错误。在任何情况下,似乎您正在使用“%f”来打印双精度或浮点值,但您的数据不是双精度的。请查看您的工作区,并使用fprintf指令的确切选项。