新鲜出炉ln2等于多少(ln等于多少)
ln2是一个很特别的数,那么它究竟等于多少?你可以这样:
无论是数学、物理,还是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)的 如果,计算机代表做事的工具,计算方法代表解决问题的方法,计算次数代表我们付出的努力那么,这三样东西,哪一个更重要?只是,无论你倾向于何种解答,都不得不承认:方法不对的努力,不过是浪费时间而已。
- 标签:
- 编辑:李松一
- 相关文章
-
干货分享人法网执行记录查询(人法网执行记录查询失信)
如果您有他们的相关线索,请拨打我们电话的举报电话:0735-3326157
-
太疯狂了人法网执行记录查询(人法网执行记录查询失信)
朋友们大家好,欢迎来到专查,使用专查微信公众号即可查询,或不会的私信我。 我们如果想查询这个人有没有被法院执行过,怎么做呢?…
- 不看后悔9月1日是什么节日(9月1日是什么节日子简介)
- 一看就会9月1日是什么节日(9月1日是什么节日子简介)
- 真没想到btob(btob 第二次告白)
- 学会了吗华夏银行信用卡电话(平安银行信用卡电话95501)
- 太疯狂了上海社保局(上海社保局官网个人社保查询)