与えられた点 x で与えられた関数 Func の導関数の値を計算するには、良い精度を得るために次のように考えます:
a = Fun( x - Number.MIN_VALUE)
b = Func( x + Number.MIN_VALUE)
return (b-a)/(2*Number.MIN_VALUE)
現在、任意のx + Number.MIN_VALUE
(またはx - Number.MIN_VALUE
) 両方に対して、javascript で x を返します。
さまざまな値を試してみたところ、1 + 1e-15
1.000000000000001 が返されました。精度を上げようとすると、1 + 1e-16
が返されます1
。したがって1e-15
、 Number.MIN_VALUE の代わりに使用する必要があり5e-324
ます。
この場合、javascriptでより良い精度を得る方法はありますか?