Why is there loss of precision when writing values using CSVWRITE in MATLAB 7.0 (R14)?
58 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I execute the following code to write the value '1.23456789' to my CSV-file, as follows:
csvwrite('filename.csv', [1.23456789])
Upon reading the value back from the file, I see that there is some loss in precision:
val = csvread('filename.csv')
val =
1.2346
When I open the "filename.csv" file, it too contains the rounded-off value.
Réponse acceptée
MathWorks Support Team
le 27 Juin 2009
The CSVWRITE function converts numbers to short format before writing them to the file. To preserve precision, use the DLMWRITE function to explicitly set the precision of the data in the CSV-file:
dlmwrite('filename.csv', [1.23456789], 'delimiter', ',', 'precision', 9);
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Text Files dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!