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