[Scilab-users] Problems arising from truncation of %pi
Federico Miyara
fmiyara at fceia.unr.edu.ar
Fri Jan 8 01:03:10 CET 2021
Stéphane,
This would be great if it worked for any x. When x is close to 1e16
there are few valid numbers per cycle. For instance
x(1) = 1e16
for k=1:5
x(k+1) = nearfloat("succ",x(k));
end
x
yields (with format(25))
10000000000000000.
10000000000000002.
10000000000000004.
10000000000000006.
10000000000000008.
10000000000000010.
Those few numbers have each a definite exact value and sin(x) has also a
definite exact value which seemingly is already well approximated,
unlike what I had previously supposed. For instance
[x sin(x)]
yields
10000000000000000. 0.779688006606978_7_8957
10000000000000002. -0.893837828765730_5_909519
10000000000000004. -0.035752436952928_5_263036
10000000000000006. 0.923594355839355_2_299535
10000000000000008. -0.732949301917758_3_112977
10000000000000010. -0.313565289154332_2_384749
I have underlined the last correct digit compared with Alpha, so it is
the expected result with 16 digits.
Regards,
Federico Miyara
On 06/01/2021 05:49, Stéphane Mottelet wrote:
> x = (10^[1:16])*%pi
> sx = sin(x-floor(x/2/%pi)*%pi*2)
> plot("ln",x,sin(x),'-o',x,sx,'-o')
> legend("$\Large\sin x$","$\Large\sin
> \left(x-2\pi\left\lfloor\frac{x}{2\pi}\right\rfloor\right)$",3)
--
El software de antivirus Avast ha analizado este correo electrónico en busca de virus.
https://www.avast.com/antivirus
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.scilab.org/pipermail/users/attachments/20210107/6974483c/attachment.htm>
More information about the users
mailing list