因此,我有一个文件旨在通过一个相当大的csv文件进行分析,以淘汰一些数据点。下面列出了文件中的三个值(超过40万个):

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只会以 double 接收Epoch_ms,将值存储为1.1630e + 09,这足以读取,因为它确实保留了用于MATLAB操作的数字的原始值。

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

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

最佳答案

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

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

10-07 14:19