2013-02-20 96 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