您的位置首页  散文随感

新鲜出炉ln2等于多少(ln等于多少)

ln2是一个很特别的数,那么它究竟等于多少?你可以这样:

新鲜出炉ln2等于多少(ln等于多少)

 

        无论是数学、物理,还是IT领域,ln2都是一个很常见的数。作为一个无理数,它究竟等于多少?       一、小学水平,只能使用计算器:

       真的很简单,可我们对原理一无所知它究竟怎么计算的呢?离开计算器,我们该怎么办?       二、到了中学,可以这样计算:       1、显然,0

             假设ln2=0.7,则exp(ln2)=exp(0.7)=2.013...>2,所以ln2<0.7;             假设ln2=0.6,则exp(ln2)=exp(0.6)=1.822...0.6;

       2、因为0.6

       应该说,这种“二分搜索、逐次逼近”的方法理论上虽然可行,但是知易行难比如说,e的0.67次方等于多少?离开计算机或计算器,计算依然是不可思议的       三、学过大学的数学分析/高等数学课程,就可以用Maclaurin展式(Taylor级数)了:。

       公式看起来简洁明快了许多可是,真正动手计算,你会发现依然是一个痛苦的过程:算到n=100和101时,先加上1/100,再减去1/101,两次计算合起来相当于加上0.000099,这内耗也太严重了。

当你辛辛苦苦计算到了n=100次时,蓦然发现算出来的ln2精度才0.01       (高等数学是非数学专业的数学课程,其在数学专业的对应物叫“数学分析”虽然高等数学比数学分析简单不少,但Taylor级数总是要学的。

)       四、另一个高效得多的公式:

       只要计算到n=5,精确度就超过0.0001了这个计算过程很简单,甚至手工计算也花不了几分钟时间       五、然而,当今时代,何必苦苦地人工计算呢?让我们编写一段程序,把计算的事交给计算机:。

       对于上述两个Maclaurin展开式,用python语言编写程序如下:

       其中,maclaurin()采用自适应算法,当前后两项的理论误差diff大于0.0001时持续计算级数的部分和,在理论误差降到0.0001以下时程序自动停机、打印计算结果       程序输出:。

       误差分析:与真值(0.693147181)相比,第一种算法,当计算到n=10001时,ln2=0.69309718305995827,误差0.00005; 第二种算法,只要n=6,就有ln2=0.69314604739082708,误差0.0000011。

第二种算法仅仅计算到6次,就比第一种算法计算到10001次还要精确得多(45倍)       让我们增强程序,把理论误差(diff)-计算次数的关系图画出来(因为误差范围变化超过1万倍,所以为了绘图清晰,纵坐标是经过对数变换的)

      实际上,第一种计算diff是O(1/n)的,第二种计算diff是O((1/9)^n)的      如果,计算机代表做事的工具,计算方法代表解决问题的方法,计算次数代表我们付出的努力那么,这三样东西,哪一个更重要?只是,无论你倾向于何种解答,都不得不承认:方法不对的努力,不过是浪费时间而已。

免责声明:本站所有信息均搜集自互联网,并不代表本站观点,本站不对其真实合法性负责。如有信息侵犯了您的权益,请告知,本站将立刻处理。联系QQ:1640731186