打字猴:1.701005422e+09
1701005422 对输出结果求其导数如下:
1701005423
1701005424     1/36028797018963968
1701005425
1701005426 运行程序输出结果如下:
1701005427
1701005428     ans =       2.7756e-17
1701005429
1701005430 然后直接采用MATLAB输入0.1-0.3+0.2进行数值模拟,程序如下:
1701005431
1701005432     >> 0.1-0.3+0.2    ans =       2.7756e-17
1701005433
1701005434 也就是说,在IEEE标准下,0.1+0.3-0.2=1/36028797018963968≈2.7756e-17,显然这个不等于0。
1701005435
1701005436 【问题】为什么0.1-0.3+0.2和0.1+0.2+0.3的结果不一样?
1701005437
1701005438 【分析】
1701005439
1701005440 0.1-0.3+0.2和0.1+0.2-0.3的结果不一样,这个主要是由于加法运算是左结合的,也就是说0.1-0.3+0.2是先计算0.1-0.3,得到,0.2;而0.1+0.2-0.3是先计算0.1+0.2,得到0.3。
1701005441
1701005442 -0.2和0.3的IEEE编码当然是不同的,相应的误差也有区别,于是得到最后结果也就不同了。
1701005443
1701005444 因此,数学是严格服从逻辑计算的,不同的计算方式,得到的结果是有偏差的,只是在我们的可接受范围内,这点误差是可以忽略的。细微的观察生活,将得到不一样的惊奇结果。
1701005445
1701005446
1701005447
1701005448
1701005449 我和数学有约:趣味数学及算法解析 [:1701004186]
1701005450 我和数学有约:趣味数学及算法解析 3.2 数字黑洞
1701005451
1701005452 【问题】什么是数字黑洞?
1701005453
1701005454 【分析】
1701005455
1701005456 任意选一个四位数(数字不能全相同),把所有数字从大到小排列,再把所有数字从小到大排列,用前者减去后者得到一个新的数。重复对新得到的数进行上述操作,7步以内必然会得到6174。
1701005457
1701005458 例如,选择四位数6767:
1701005459
1701005460 7766-6677=1089
1701005461
1701005462 9810-0189=9621
1701005463
1701005464 9621-1269=8352
1701005465
1701005466 8532-2358=6174
1701005467
1701005468 7641-1467=6174
1701005469
1701005470 ……
1701005471
[ 上一页 ]  [ :1.701005422e+09 ]  [ 下一页 ]