数学魔术系列之愚人节的计算器
二百五, 哈哈哈zsh 在 GoogleReader 说
在某年的愚人节,小宝的朋友拿着一个计算器告诉小宝,“最近有科学家发现了这种计算器具有灵异的作用,只有输入你的出生年份,就可以预测出你将来的命运,不相信的话你可以试试。”小宝的朋友把计算器递给了小宝,“下面,你按我说的做:首先在计算器中输入自己的出生年份,你是1990年出生的吧?那就输入1990,然后计算这个数字的对数(ln)值,再将得到的结果乘以45.278,之后再一次计算这一个结果的对数值,再乘以45.278,以此类推,重复十几次以后,计算器的超自然作用会逐步显现出来,最后的结果小数点前的一串数字可以预示你的命运。”
最后小宝算了半天,得出结果之后,身旁的朋友笑起来,他知道自己中计了,可是不明白为什么。他又输入几个不同的出生年份1960,1970,1980,试了几次,原来最后的数字都是一样的。小宝的朋友说道“不论哪一年出生,是六零后,七零后,八零后还是九零后,在计算器看来,最终的命运其实都是一样的,哈哈。”(你猜得到结果是什么吗,参见文章最后)
其实刚刚计算器并没有在为小宝算命,而是小宝他自己稀里糊涂地帮他的朋友做了一道数学题:解方程45.278*ln(x)=x。大家知道怎样解这个方程吗?
你或许会说,我数学没有学好,忘记了这种方程的求解公式。可是令很多人意想不到的是这种方程根本没有求解公式,称为超越方程,数学家也无法得到一个可以用有理数表示的解,只知道它的解是像π一样的无限不循环小数,小数点后面有无限多位。对于圆周率π,虽然“可望而不可即”,永远得不到100%精确的真实数值,可是却可以无限接近,在2009年,日本筑波大学研究人员借助最新的超级计算机系统,已经可以将圆周率计算到小数点后25769.8037亿位。而对于这个方程的解,我们也有很多办法来接近它的真实值,像计算圆周率一样揭开它的“庐山真面目”。
首先,我们来看一张世界地图图片,七大洲、四大洋清晰可见。我们现在要做的是打开photoshop软件,把原来的图片的长宽各缩小一半,然后把缩小的图片旋转任意角度,粘贴到原来大图片上的任意位置,可想而知,小地图上指示的地点和它背后大地图上的地点是错位的,南极洲的一点背后可能是大西洋,中国背后可能是美国,洛杉矶可能跑到了印度的位置,南非可能到了巴西头顶上……但是仔细想一下,无论小地图旋转多少角度,被放到什么位置,大地图和小地图一定有一点指示的是同一个位置,这一点叫不动点,可以用圆规几何画图找到,但无论如何有一个事实是确定的,这一点一定在大地图上小地图所盖住的区域内。
接下来,如果我们把这张由小地图和大地图叠在一起的图像合成为一张图片,然后再把合成的图缩小、旋转,镶嵌到原来小地图的位置,这样就得到了一张由三张大小不同的地图叠在一起的图片。如果继续进行下去,4层、5层、6层……都可以得到,下半部分的那张图片显示的就是7张地图叠在一起,“图中有图,像中有像”的图片。此时,这大小不同的7张图片仍然有一个共同的点,还是刚才的那个不动点,但是我们可以知道,这个点的范围已经缩小到最上面的小地图在最下面的大地图上覆盖的范围了,从图中看,已经是很小的、难以辨认的一个长方形了。当越来越多的图片叠在一起,那个不动点的位置就会被定位的越来越精确,例如最初确定在亚洲范围内,之后缩小到中国,然后是青海省,然后是玉树州,玉树县,拉秀乡日麻村……。整个过程如同在使用谷歌地图上的放大功能一样。
事实上,“不动点”无处不在,两张不同尺度的图片叠在一起会有不动点,两个不同尺度的格尺叠在一起也有不动点(游标卡尺就是利用不动点使用的),台风中肆虐的狂风下包围的风平浪静的风眼也是一个不动点,对于一个方程,它的解就是一个不动点。刚刚小宝用计算器算来算去的过程其实和“拼贴世界地图”异曲同工,都是“一环套一环”,将不动点的范围不断缩小,这种解方程的方法有一个名字——不动点迭代法。
无论最开始的x等于多少,经过下面这样的过程,最后都会像被磁铁吸引一样,离方程的解的距离越来越近。
45.278*ln(45.278*ln(45.278*ln(45.278*ln(45.278*ln(45.278*ln(45.278*ln(x)))))))……
不动点迭代的方法只是解超越方程方法的一种,我们还可以用一种“猜”的方法——二分法。首先大概估计一下45.278*ln(x)-x=0的解是在什么范围内,比如0到10000,从这么大的范围开始“海里捞针”的旅程。计算一下中间值x=5000的时候45.278*ln(x)-x的值是大于0还是小于0,可以把解的范围缩小到原来的一半0到5000,再根据x=2500时方程的值,把解的范围再缩小一半,这样一直下去,和不动点迭代的方法一样,会使解的数值由模糊变得越来越精确。不过相比起来,不动点迭代法的效率比二分法略逊一筹,也就是说,前者的“地图缩小的速度”快于后者的“地图缩小速度”。
这两种方法都叫数值方法,虽然不能像一个求根公式那样,得到一个方程真正的解,但是可以得到一个小数点后任意多位的数值去表示方程的解。你或许感觉这种数值方法很繁琐,要一次又一次的按计算器,但是对于一秒钟可以计算上万次、上亿次的计算机来讲,这种事情只是小菜一碟,不足挂齿。利用计算机强大的计算能力,数值方法可以完成各种各样的复杂方程的求解。
文章开头的结果
本文地址(转载请注明出处): 复制
收藏、分享这篇文章:
更多...