Drexel dragonThe Math ForumDonate to the Math Forum

Search All of the Math Forum:

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

Math Forum » Discussions » Software » comp.soft-sys.matlab

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

Advanced Search

Back to Topic List Back to Topic List Jump to Tree View Jump to Tree View   Messages: [ Previous | Next ]

Posts: 113
Registered: 11/22/09
Re: How to import data without losing much precision
Posted: Dec 3, 2012 4:44 PM
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply

Hi Steven. Thanks for your reply.

"Steven_Lord" <slord@mathworks.com> wrote in message <k9h7q6$4sk$1@newscl01ah.mathworks.com>...
> "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.

The input data is 52 decimal digits, not bits, of precision. I know what I posted was a big mess (there's no preview on this board), but there are 52 decimal digits of precision in the sample input. It's a "long double" in C. If my Matlab has only 52 (or 53) binary digits of precision, which is 16 decimal digits, then I guess I've already imported the most precise information I can.

> *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.

Actually, I don't know how much precision I should preserve. My adviser has been characteristically slow to respond to my questions and I've learned that I need to keep working while waiting for his response. If I don't need that much precision, then hopefully I will have at least learned something valuable along the way.

Maybe my real question should have been "How do I determine how much precision my version of Matlab has?"

> --
> Steve Lord
> slord@mathworks.com
> To contact Technical Support use the Contact Us link on
> http://www.mathworks.com

Point your RSS reader here for a feed of the latest messages in this topic.

[Privacy Policy] [Terms of Use]

© The Math Forum 1994-2015. All Rights Reserved.