收藏 分享(赏)

阅读与思考对数的发明(二).docx

上传人:HR专家 文档编号:12030649 上传时间:2021-08-06 格式:DOCX 页数:3 大小:68.35KB
下载 相关 举报
阅读与思考对数的发明(二).docx_第1页
第1页 / 共3页
阅读与思考对数的发明(二).docx_第2页
第2页 / 共3页
阅读与思考对数的发明(二).docx_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

1、十七世纪的常用对数表是怎么算出来的前不久,在网上看到了金泽长街小牛先生的博文回到十七世纪,让我来编算一本常用对数表,受益匪浅。在我上中学时,也曾对数学用表中的对数和三 角函数值是怎么算出来的感到好奇,但始终不得其解。中学时学的是四位对数表, 后来也见到过八位对数表和十位对数表,但看不懂,不会用。读过小牛先生的文章后,不仅知道了对数表是怎么算出来的,也豁然明白八位对数表是怎么回事了。 受小牛先生博文启发,我也想到了一种更为简单精确的计算常用对数表的方法, 不用手算开高次方,只需加减乘除开平方,就可以编制出常用对数表,这里介绍 出来,与大家分享。第一步、计算第一组基础对数这组基础的对数值是:1/2

2、, 1/4, 1/8, 1/16, 1/32, 1/64, 1/128, 1/256, 1/512, 1/1024, 1/2048, 1/4096, 1/8192 共 13 个。计算的方法很简单,就是不断开平方。在常用对数里,10的对数是1,把10开平方就得到对数1/2的真数值,即,10,把计算结果再开平方就得到对数 1/4的真数值,把计算结果再开平方就得到对数1/8的真数值,一直进行下去, 等开到1/8192就可以了。有这13个基础对数值,算8位对数表就够了,如果想 要更精确的对数表,可以再多算几个基础对数,这里就不讨论了。开平方是简单的运算,列竖式就可以开出来,开12位有效数字一般不会超过

3、半小时,计算这13个基础对数一个人几小时就可以完成。有了这组基础对数,就可以通过把若干个基础对数相加的方式,计算出从1/8192, 2/8192, 3/8192,到8191/8192的任何一个对数,这8191个对数在01之间均匀分布。第二步、计算第二组基础对数这第二组基础的对数值是:0.5, 0.1, 0.05, 0.01, 0.005, 0.001, 0.0005, 0.0001共八个。0.5即1/2,在第一组基础对数中就有;0.1=819.2/8192,介于819/8192与820/8192之间,其中819/8192=512/8192+256/8192+32/8192+16/8192+2/

4、8192+1/8192 =1/16+1/32+1/256+1/512+1/4096+1/8192对数相加,真数需相乘,将式中这6个基础对数对应的真数值相乘就可以得 到819/8192的真数值。820/8192=512/8192+256/8192+32/8192+16/8192+4/8192 =1/16+1/32+1/256+1/512+1/2048将式中这5个基础对数对应的真数值相乘就可以得到820/8192的真数值。819/8192与820/8192之间的间距仅有1/8192,非常小,可以近似当成直线 处理,在算出对数819/8192和820/8192的真数值后,通过“线性内插法”就可 以算

5、出对数819.2/8192即0.1对应的真数值。如担心多次相乘以及做线性内插时 导致误差积累增大,可以把对数 0.1的真数值累乘计算5次方,看与对数0.5的 真数值误差有多少,然后用开方公式做修正,消除误差。由于这样的计算本身已 经很精确,误差修正的工作不会太费事。得到又t数0.1的真数值后,将之开平方就得到对数 0.05的真数值。然后,0.01=81.92/8192,分别计算出对数81/8192和82/8192的真数值,再 用“线性内插法”计算出对数 0.01的真数值,当然,也要做误差修正。同样的方法,可以计算出对数 0.005, 0.001, 0.0005, 0.0001的真数值。这一组8

6、个对数务必要准确,在算出这一组8个基础对数之后,就可以计算 编制反对数表了。第三步、计算编制反对数表用对数做乘、除、乘方、开方运算得到的对数值,最终都要通过查反对数表 才能得到真数,所以,反对数表是迟早必须要编的,而反对数表在计算方法上没 有障碍,所以应该首先计算编制。有反对数表之后,再计算对数表就容易多了。有了对数0.5和0.1对应的真数值,就可以计算出从 0.1, 0.2, 0.3,0.9 这9个对数对应的真数值了,这9个对数构成的反对数表可以叫一级反对数表。 计算的方法很简单,就是对数相加,真数相乘,比如0.6的对数,对数0.6=0.5+0.1, 所对应的真数就是3.1622776601

7、68*1.258925411794=3.98107170553有了对数0.05和0.01对应的真数值以及一级反对数表,很容易就可以计算 出从0.01,0.02,0.03, .0.99这99个对数对应的真数值,这99个对数构成的反对 数表可以叫二级反对数表。计算的方法与前面相同,即对数相加,真数相乘。有了对数0.005和0.001对应的真数值以及二级反对数表,就可以计算出从 0.001,0.002,0.003 .0.999这999个对数对应的真数值,这 999个对数构成的反 对数表可以叫三级反对数表。计算的方法与前面相同。同样,可以计算出包含 0.0001, 0.0002, 0.0003, .0

8、.9999这9999个构成的 四级反对数表。有四级反对数表应该就够了。要计算编制包含99999个对数的五 级反对数表不是做不到,而是有没有必要,值不值得做。编制时要先完成一级反对数表,然后再扩充到二级反对数表、三级反对数表、 四级反对数表,不要用很小的对数累乘得到大的对数,以避免误差累积增大。这样计算出的反对数表非常齐整,而且精确度有充分保证。扩充计算对数表只用两数相乘,不用除法。我觉得乘法比除法简单,工作量 小。比如两个有10位有效数字的数相乘,会得到一个大约有20位的数字,但我 们只要10位有效数字,后面的那些位数都要舍去,既然不需要,为什么要乘出 来?所以在列竖式相乘时,那些注定不会加到

9、前12位的数字,主要是乘数的后几位与被乘数的后几位相乘的数字,根本就别乘,直接画0补位,只要前12位,多出的两位用于四舍五入,故而乘法可以减少计算量。在编制反对数表过程中已经可以多找人手分摊工作量了。以前在书上看到过去有“制表工人” 一说,应该是指专门从事计算制表的工作人员,如果是职业熟 练工人,那应该会掌握很多计算技巧,计算速度也会快过常人,以我估计的计算 量,如果有几十人同时工作,两三周做出反对数表应该没问题。第四步,计算给定真数的对数值,编制常用对数表在有了反对数表之后,再计算编制常用对数表就好办了,而且精确度有保 证。方法就是“线性内插法”。以求2的对数为例,在反对数表里可以查到,对

10、数0.3010对应的真数是1.9998618696,对数0.3011对应的真数是2.0003224078, 那就在0.3010和0.3011之间做线性内插,求2的对数值,由于1.9998618696与 2.0003224078的间距非常微小,所以得到的 2的对数值也必是非常精准的。从1.0019.999之间的所有数都可以用这种“线性内插”法算出,用这8999 个数就可以编制出一个完整的常用对数表,而且精度极佳,只不过要计算8999个数据,计算量颇大。如果先算出那些质数(即素数)的对数,合数的对数由其质因子的对数相加 而得到,计算量就可以大幅减少。10000以内的质数仅有1229个,而且那些较大

11、的质数,其对数可以用两对 数平均值算出,例如8663是个素数,在算出8662和8664这两个数的对数后, 8663的对数就是8662和8664这两个数的对数的平均值。平均值计算实际也是 “线性内插”,但要简单得多,真正需要用比较麻烦的“线性内插”计算的质数 只有几百个,合数的对数由其约数的对数相加得到, 这种制表方法计算量要少一 些,但精度也要稍逊一些。总的来说,编制对数表要比反对数表计算量要少一些。计算编制常用对数表的工作也一样可以找多人分担,以加快速度。结语编制八位常用对数表和反对数表,计算量巨大,个人很难独力完成,如果有 几十个人分工合作,一两个月制出常用对数表和反对数表,应该不算什么大问题。对数函数不是直线函数,做线性内插必会有误差,误差大小决定于插值区间 大小,区间越小,误差也越小。若想要更精确的对数表,我认为应该增加多算几 个基础对数,尽量减小插值区间。第二组基础对数值必须进行检验,消除误差。上面就是我对常用对数表计算方法的思考。 时隔几百年,十七世纪的常用对 数表究竟是不是这样算出来的,有没有更好的方法就不知道了。 以我的看法,本 文叙述的方法已经足够简单精确了, 没有技术障碍,若组织好了,即便是一些中 学生也能完成这样的计算编制工作。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 中等教育 > 高中教育

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报