2013-02-20 85 views
5

所以,我有一个文件,旨在通过一个相当大的csv文件解析出一小撮数据点。该文件中的值(出400,000)的三列示如下:Csvwrite的数字大于7位数

Vehicle_ID Frame_ID Tot_Frames Epoch_ms Local_X 
2   29   1707  1163033200 8.695 
2   30   1707  1163033300 7.957 
2   31   1707  1163033400 7.335 

我想要做的,是把以前滤波的数据点这样使用csvwrite其插入到其它csv文件。然而,csvread只会以双精度取得Epoch_ms,将值存储为1.1630e + 09,这对读取来说是足够的,因为它确实保留了用于MATLAB操作的原始数值。

但是,在csvwrite期间,该精度会丢失,并且每个数据点被写为1.1630e9。

如何让csvwrite以更高的精度处理数字?

回答

9

使用dlmwrite与一个精度参数,如%i。默认分隔符是一个逗号,就像一个CSV文件。

dlmwrite(filename, data, 'precision', '%i') 
+0

谢谢,工作! – panoptical 2013-02-20 04:53:01