先提一个问题:
10,000*1,000等于多少?
如果不是太蠢的话(XD),我相信大家都不会这样算:
简单地数一下0的个数,两个数字10000, 1000分别是4个0和3个0。所以答案就是一个拥有4+3=7个零的一个数,即10,000,000。
在这样的简化计算过程中,我们实际上就在不知不觉中采用了对数计算方法。
最初发明对数计算方法的人,就是想到了可以创造出一种新的计算乘法和除法的方式,将它们转换成加法和减法:
就这两个等式,给数学家们省下了多少时间和生命!
我们举个使用对数公式和对数表简化计算的例子:
假设 ,
两边同时取以10为底的对数,得到:
以四位对数表为例,对数表提供 至 的值,
查表可得 和 。
所以 ,两边取指数得 。
根据对数表反查可得
所以用对数表计算可得 ,相比于直接计算 ,误差约为0.004%。
更一般地,对两个任意大数乘积 ,令 ,有
将 的值四舍五入到最近的四位小数,查对数表 可得 ,两边取指数有 ,将指数部分拆分为整数和 的小数部分,再使用反查表求小数部分的指数函数值,即可得到 的值。
整个计算过程中,我们只查两次对数表,进行一次加法运算,再反查一次对数表,就能得到两个大数乘积的值,这就可以大幅度简化大数的乘除法运算,提高运算速度。
再来个天文学领域计算的例子,有人说上面的例子太简单(XD),那我们这次用真的数据:
假设地球以圆形轨道绕太阳运动,根据以下已知数据,计算太阳的质量:
根据万有引力定律和牛顿运动定律可知:
不用计算器,使用对数表只要做加法、减法和简单的乘法就能求出这个表达式,所有的对数值都可以由查表得到。当时的天文学家是这样计算的:
如果按照传统方法计算,需要7个大数乘法竖式和1个除法竖式。这种算法只要一个「对数竖式」,就能取代所有的大数乘法和除法,通过简单的加减大幅度简化了运算过程。
计算所得结果为:太阳质量是 。查有关资料可知,准确值为 ,所以上述计算的相对误差为 。
由此看出,通过对数表进行大数计算,得到的是有误差的数,不是真值,除非是那种数零就可以计算的大数。但对于许多工程计算、甚至科学计算来说,这种精度已经足够。
发明对数计算,都是因为没有计算器可用给逼出来的。
17世纪初,在工程实践、天文观察等行业和科学研究领域中,人们开始遇到越来越多的大数字,这些大数字还需要通过复杂的乘除运算才能拿来用,所以迫切的需要一种提高计算效率的方法,于是对数和对数表就这样应时而生了。通过上面的对数公式,很容易地就把乘除法转换成了加减法,从此就不用列乘法竖式和除法竖式了。
对数有独一无二的功能:化乘除为加减,化乘方开方为乘除,将高级运算降为次级运算。当时有一种说法:对数的发明让天文学家的寿命增加了一倍。
第一张对数表是瑞士工程师比尔吉(Jost Bürgi, 1552-1632)制作的,他曾经担任过著名天文学家开普勒的助手,这一工作干的主要任务就是计算天体运行的数值,大概实在是算得头晕眼花了吧,比尔吉产生了化简数值计算的想法,搞出了他自己用的对数和对数表。在完全独立的情况下,苏格兰数学家约翰·纳皮尔男爵(John Napier)发明了现在大家用的对数规则。如今一般都承认他们两人都是对数先驱。
思考题:那么对数表是怎么发明的?
提示:要发明对数表,只要求出从 到 的四位小数的值。那么,什么方法能够计算出从 到 的所有值呢?
(评论区有大佬给出了思路)
我给了其中一种解法,也是当时比尔吉和纳皮尔计算第一张对数表时采用的方法。请移步下面的问题。 我会尽快更新。 : )