Search All of the Math Forum:

Views expressed in these public forums are not endorsed by NCTM or The Math Forum.

Topic: How to import data without losing much precision
Replies: 5   Last Post: Dec 3, 2012 9:44 PM

 Messages: [ Previous | Next ]
 Steven Lord Posts: 18,018 Registered: 12/7/04
Re: How to import data without losing much precision
Posted: Dec 2, 2012 10:54 PM

"Jeff " <spREMOVEHITSjeffAT@SIGNoptonline.net> wrote in message
news:k9gk4s\$2hh\$1@newscl01ah.mathworks.com...
> I'm trying to import some data, which was created by C code, into Matlab
> without losing much precision. Can someone show me an example of how to do
> so?
>
> I have about 52 decimal places of precision, with N=16 numbers on a line,
> like this:

Double precision only allows you 52 bits of precision (well, plus the
implicitly stored bit) not 52 digits.

*snip*

> I've tried using dlmread, csvread and importdata, but they cut off
> precision.

You could read these in as _strings_ and convert them into symbolic objects
using Symbolic Math Toolbox.

*snip*

> I've tried other things, too, but I cannot get any more precision. You can
> see that their all losing precision after about 16 decimal places.

Yes. See:

http://en.wikipedia.org/wiki/Double-precision_floating-point_format

> Could someone show me an example of how to import my data with the most
> precision?

Why do you believe you need 52 decimal digits of precision for your data?
For comparison, you only need roughly 39 digits of pi to calculate the
volume of the universe to within one atom.

http://en.wikipedia.org/wiki/Pi#Motivations_for_computing_.CF.80

Just because you HAVE the number out to N digits doesn't mean you NEED all
those digits.

--
Steve Lord
slord@mathworks.com
http://www.mathworks.com

Date Subject Author
12/2/12 Jeff
12/2/12 Steven Lord
12/3/12 Jeff
12/3/12 Steven Lord
12/3/12 Nasser Abbasi
12/3/12 Roger Stafford