6

因此,我有一个文件旨在解析一个相当大的 csv 文件以清除少数数据点。下面列出了文件中的三个值(超过 400,000 个):

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 更精确地处理数字?

4

1 回答 1

12

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

dlmwrite(filename, data, 'precision', '%i')
于 2013-02-20T04:19:16.853 回答