help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

a-b+b != a


From: stn021
Subject: a-b+b != a
Date: Mon, 4 Sep 2017 16:53:29 +0200

Hi,

this is weird:

r1 = round( 1e3*randn(5) ) / 1e3 ;
r2 = round( 1e3*randn(5) ) / 1e3 ;
r3 = r1 - r2 + r2 ;
not_zero = r1 - r3

not_zero =

   0.0000e+00   0.0000e+00   5.5511e-17   0.0000e+00   1.1102e-16
   5.5511e-17   0.0000e+00   0.0000e+00   0.0000e+00   0.0000e+00
   0.0000e+00   0.0000e+00   0.0000e+00   0.0000e+00  -2.0817e-16
  -5.5511e-17   0.0000e+00   0.0000e+00  -1.1102e-16   0.0000e+00
   2.7756e-17   0.0000e+00   0.0000e+00   0.0000e+00   0.0000e+00

So a-b+b != a

The difference to zero is small, around 1e-17. But iterations can
cause this error to increase.

I use leasqr() and in each iteration the last line is
  retval = retval - someval + someval

With that additional line I get quite different results compared to
the same program without this line even though they should be
identical.

Is there a way to avoid this phenomenon ?

THX
Stefan



reply via email to

[Prev in Thread] Current Thread [Next in Thread]