2013-02-20 61 views
5

तो, मेरे पास एक फ़ाइल है जो एक बड़ी सीएसवी फ़ाइल के माध्यम से पार्स करने के लिए डिज़ाइन की गई है ताकि कुछ हद तक डेटा पॉइंट्स को कम किया जा सके। मूल्यों (400,000+ में से) फ़ाइल के भीतर से तीन नीचे सूचीबद्ध है:7 अंकों से बड़ी संख्या के साथ 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 

क्या मैं यहाँ करने के लिए कोशिश कर रहा हूँ इस तरह पूर्व में फ़िल्टर डेटा बिंदुओं लेने के लिए और csvwrite का उपयोग कर एक और csv फ़ाइल में प्लग करने के लिए है । हालांकि, csvread केवल Epoch_ms को डबल परिशुद्धता में ले जाएगा, मान को 1.1630e + 09 के रूप में संग्रहीत करेगा, जो पढ़ने के लिए पर्याप्त है, क्योंकि यह MATLAB परिचालनों में उपयोग के लिए संख्या के मूल मान को बनाए रखता है।

हालांकि, csvwrite के दौरान, यह सटीकता खो जाती है, और प्रत्येक डेटा बिंदु 1.1630e9 के रूप में लिखा जाता है।

मैं अधिक परिशुद्धता वाले नंबर को संभालने के लिए csvwrite कैसे प्राप्त करूं?

उत्तर

9

dlmwrite का उपयोग सटीक तर्क के साथ करें, जैसे %i। डिफ़ॉल्ट डिलीमीटर एक कॉमा है, बस एक CSV फ़ाइल की तरह।

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

धन्यवाद, यह काम किया! – panoptical