因此,我有一个文件旨在通过一个相当大的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')