1. 程式人生 > >數學計算 的bug:(理論)數學上等價,實際運行未必等價

數學計算 的bug:(理論)數學上等價,實際運行未必等價

lambda 示例 計算表達 表達式 等價 pre 數學 lam sqrt

1. 計算表達式的值(lambda 表達式)

fun1 和 fun2 理論上是等價的;同樣的輸入情形下,兩種輸出結果不一致。

2. 運行示例

>>> x=1e16
>>> x
1e+16
>>> fun1=lambda x:sqrt(x+1)-sqrt(x)           # lambda 表達式定義

>>> fun2= lambda x:1/(sqrt(x+1)+sqrt(x))

>>> fun1(x)
0.0

>>> fun2(x)
5.0000000000000001e-09
>>>

數學計算 的bug:(理論)數學上等價,實際運行未必等價