2013-02-20 14 views
5

Bu yüzden, bir avuç veri noktaları için oldukça büyük bir csv dosyasını ayrıştırmak üzere tasarlanmış bir dosyam var. dosya içinde (çapında 400.000'den fazla dışarı) değerlerinin Üç aşağıda listelenmiştir:7 basamaktan büyük sayılarla Csvwrite

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 

Ya burada yapmaya çalışıyorum böyle önceden süzülmüş veri noktalarını alıp csvwrite kullanarak başka csv dosyasına takmaktır . Bununla birlikte, csvread sadece Epoch_ms içinde çift duyarlıklı olarak alacaktır, değeri okuma için yeterli olan 1.1630e + 09 olarak saklar, çünkü MATLAB işlemlerinde kullanılacak numaranın orijinal değerini korur. Ancak, csvwrite sırasında, bu kesinlik kaybolur ve her veri noktası 1.1630e9 olarak yazılır.

Numarayı daha hassas bir şekilde işlemek için csvwrite'i nasıl alabilirim?

cevap

9

%i gibi hassas bir argüman ile dlmwrite kullanın. Varsayılan sınırlayıcı, bir CSV dosyası gibi bir virgül.

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

Teşekkürler, işe yaradı! – panoptical

İlgili konular