几周前我刚刚开始使用Matlab(R2015a),虽然我已经搜索了这个问题的答案(并尝试了一些解决方法)但我没有运气。希望,这很容易解决!!
我正在尝试以高精度(我需要毫秒)和许多列数据写入.csv文件的一列串行日期。我不想让所有事情都变得疯狂,只是第一列日期。
以下是我发现的内容: - csvwrite不允许不同的精度。
xlswrite没有足够的精度(即使我的序列日期是双倍的,是的,我查看了电子表格单元格)
dlmwrite以行格式附加数据,因此写入日期然后附加其余数据并不起作用(尽管如此关闭!)
现在我尝试fprintf
:
hz_time
是序列日期(双倍)
data1
和data2
分别为4x25(双倍)和4x7(双倍)
hz_time = 1.0e+05 *
[7.357583607870371, 7.357583607928241, 7.357583607986110, 7.357583608043980]
STR_data = [data1, data2];
filename = (strcat('Processed_',files(k1).name));
file = fopen(filename,'w');
fprintf(file,'%.20f\n',hz_time);
fprintf(file,'%f%f%f%f%f%f%f%f%\n',STR_data);
fclose('all')
目前,此代码将data1和data2附加到STR_date_time
列末尾的一个单元格中。当我尝试将hz_time
和数据矩阵连接在一起(使用strcat
)时,我失败了:
STR_data = strcat([hz_time, data1, data2])
警告:在转换为字符期间,超出范围或非整数值会被截断。
我确定它可能是我的格式......
我的最终目标是将此数据导出(转换为.csv或excel电子表格或其他内容),以便第一列具有序列日期(精度加载),而列2-8则包含其他数据。
非常感谢任何帮助。
提前致谢!