Search All of the Math Forum:

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

Notice: We are no longer accepting new posts, but the forums will continue to be readable.

Topic: How to avoid wrong answers in simple arithmetic expressions.
Replies: 13   Last Post: Jan 20, 2013 7:18 AM

 Messages: [ Previous | Next ]
 S.K.Mody Posts: 31 Registered: 12/13/04
Re: How to avoid wrong answers in simple arithmetic expressions.
Posted: Jan 19, 2013 4:11 PM

dpb <none@non.net> wrote in message <kdeaav\$3e3\$1@speranza.aioe.org>...
> On 1/19/2013 7:53 AM, dpb wrote:
> ...
>

> >
> > Scaling...[and other stuff elided for time being]
> >

>
> What happens if you were to multiply v by 100 and do the same w/ the
> input variable internal to the function before you start your loop?
>
> --

Thanks for the suggestion.

Yes, I did try this, and it gives the correct result although I'm not sure I understand why. My first thought was that operations on numbers which differed only in the base 10 exponent should give results of equal accuracy.

However, looking up the IEEE 754 floating point floating point representation. I see that the exponent is a power-of-2 exponent rather than a power-of-10. So, for example, 0.09 and 9 have very different mantissa's. Nevertheless both 0.09 and 9 do not have exact IEEE 754 representations. More generally, most integers do not have an exact representation in this format.

So, does Matlab treat small integers in a special way?
Otherwise why would multiplying the numbers by 100 in the original problem guarantee a correct solution?

Best Regards.

Date Subject Author
1/19/13 S.K.Mody
1/19/13 dpb
1/19/13 dpb
1/19/13 S.K.Mody
1/19/13 James Tursa
1/20/13 S.K.Mody
1/20/13 S.K.Mody
1/20/13 Bruno Luong
1/20/13 S.K.Mody
1/20/13 Bruno Luong
1/20/13 S.K.Mody
1/20/13 Bruno Luong
1/20/13 S.K.Mody