科学松鼠会» 数学魔术系列之愚人节的计算器

在某年的愚人节,小宝的朋友拿着一个计算器告诉小宝,“最近有科学家发现了这种计算器具有灵异的作用,只有输入你的出生年份,就可以预测出你将来的命运,不相信的话你可以试试。”小宝的朋友把计算器递给了小宝,“下面,你按我说的做:首先在计算器中输入自己的出生年份,你是1990年出生的吧?那就输入1990,然后计算这个数字的对数(ln)值,再将得到的结果乘以45.278,之后再一次计算这一个结果的对数值,再乘以45.278,以此类推,重复十几次以后,计算器的超自然作用会逐步显现出来,{zh1}的结果小数点前的一串数字可以预示你的命运。”

{zh1}小宝算了半天,得出结果之后,身旁的朋友笑起来,他知道自己中计了,可是不明白为什么。他又输入几个不同的出生年份1960,1970,1980,试了几次,原来{zh1}的数字都是一样的。小宝的朋友说道“不论哪一年出生,是六零后,七零后,八零后还是九零后,在计算器看来,最终的命运其实都是一样的,哈哈。”(你猜得到结果是什么吗,参见文章{zh1})

其实刚刚计算器并没有在为小宝算命,而是小宝他自己稀里糊涂地帮他的朋友做了一道数学题:解方程45.278*ln(x)=x。大家知道怎样解这个方程吗?

你或许会说,我数学没有学好,忘记了这种方程的求解公式。可是令很多人意想不到的是这种方程根本没有求解公式,称为超越方程,数学家也无法得到一个可以用有理数表示的解,只知道它的解是像π一样的无限不循环小数,小数点后面有无限多位。对于圆周率π,虽然“可望而不可即”,永远得不到{bfb}xx的真实数值,可是却可以无限接近,在2009年,日本筑波大学研究人员借助{zx1}的超级计算机系统,已经可以将圆周率计算到小数点后25769.8037亿位。而对于这个方程的解,我们也有很多办法来接近它的真实值,像计算圆周率一样揭开它的“庐山真面目”。

首先,我们来看一张世界地图图片,七大洲、四大洋清晰可见。我们现在要做的是打开photoshop软件,把原来的图片的长宽各缩小一半,然后把缩小的图片旋转任意角度,粘贴到原来大图片上的任意位置,可想而知,小地图上指示的地点和它背后大地图上的地点是错位的,南极洲的一点背后可能是大西洋,中国背后可能是美国,洛杉矶可能跑到了印度的位置,南非可能到了巴西头顶上……但是仔细想一下,无论小地图旋转多少角度,被放到什么位置,大地图和小地图一定有一点指示的是同一个位置,这一点叫不动点,可以用圆规几何画图找到,但无论如何有一个事实是确定的,这一点一定在大地图上小地图所盖住的区域内。

接下来,如果我们把这张由小地图和大地图叠在一起的图像合成为一张图片,然后再把合成的图缩小、旋转,镶嵌到原来小地图的位置,这样就得到了一张由三张大小不同的地图叠在一起的图片。如果继续进行下去,4层、5层、6层……都可以得到,下半部分的那张图片显示的就是7张地图叠在一起,“图中有图,像中有像”的图片。此时,这大小不同的7张图片仍然有一个共同的点,还是刚才的那个不动点,但是我们可以知道,这个点的范围已经缩小到最上面的小地图在最下面的大地图上覆盖的范围了,从图中看,已经是很小的、难以辨认的一个长方形了。当越来越多的图片叠在一起,那个不动点的位置就会被定位的越来越xx,例如最初确定在亚洲范围内,之后缩小到中国,然后是青海省,然后是玉树州,玉树县,拉秀乡日麻村……。整个过程如同在使用谷歌地图上的放大功能一样。

事实上,“不动点”无处不在,两张不同尺度的图片叠在一起会有不动点,两个不同尺度的格尺叠在一起也有不动点(游标卡尺就是利用不动点使用的),台风中肆虐的狂风下包围的风平浪静的风眼也是一个不动点,对于一个方程,它的解就是一个不动点。刚刚小宝用计算器算来算去的过程其实和“拼贴世界地图”异曲同工,都是“一环套一环”,将不动点的范围不断缩小,这种解方程的方法有一个名字——不动点迭代法。

无论最开始的x等于多少,经过下面这样的过程,{zh1}都会像被磁铁吸引一样,离方程的解的距离越来越近。

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时方程的值,把解的范围再缩小一半,这样一直下去,和不动点迭代的方法一样,会使解的数值由模糊变得越来越xx。不过相比起来,不动点迭代法的效率比二分法略胜一筹,也就是说,前者的“地图缩小的速度”快于后者的“地图缩小速度”。

这两种方法都叫数值方法,虽然不能像一个求根公式那样,得到一个方程真正的解,但是可以得到一个小数点后任意多位的数值去表示方程的解。你或许感觉这种数值方法很繁琐,要一次又一次的按计算器,但是对于一秒钟可以计算上万次、上亿次的计算机来讲,这种事情只是小菜一碟,不足挂齿。利用计算机强大的计算能力,数值方法可以完成各种各样的复杂方程的求解。

  1. stroller 说:

    有个建议,你在讲不动点的时候,可以顺便提一下动力系统或非线性问题,否则没有相关概念的人可能很难懂得不动点的意义。

  2. tmp 说:

    不动点迭代法的效率比二分法略逊一筹,也就是说,前者的“地图缩小的速度”快于后者的“地图缩小速度”。
    ——到底谁快?

    • Albert_JIAO 说:

      打错了,是略胜一筹。。。

  3. 半死不活的猫 说:

    文中:
    “不过相比起来,不动点迭代法的效率比二分法略逊一筹,也就是说,前者的“地图缩小的速度”快于后者的“地图缩小速度”。”

    求解释 …

  4. DS 说:

    百度百科的词条都比这篇文章通俗。。。。。。。

  5. Cielo 说:

    嗯,以前看到关于不动点的是说:把一张坐标纸(甲)揉成一团放在另一张同样的纸(乙)上面,那么一定有甲上一定存在一点,它的坐标和它投影到乙上那点的坐标恰好一样。

  6. sunshine 说:

    无论最开始的x等于多少,经过下面这样的过程,{zh1}都会像被磁铁吸引一样,离方程的解的距离越来越近。

    45.278*ln(45.278*ln(45.278*ln(45.278*ln(45.278*ln(45.278*ln(45.278*ln(x)))))))……

    这个原理还是不太明白,似乎只有特定形式的方程才能这样解
    “对于一个方程,它的解就是一个不动点” 这句感觉欠妥,方程的解是f(x)=0变换得到的,而不动点是f(x)=x

  7. liutianren 说:

    迭代不一定趋近于不动点。
    只有迭代向这个不动点收敛时才行。

    不动点往往是有的,某定理指出,一个n维的闭区域上定义的向自身的连续映射,一定有不动点。
    可以考虑其1维的例子:某连续映射f(x),其定义域、值域都是[a,b],试这证一下其中有不动点,应该不难。

    但一个映射有了不动点,迭代映射时未必趋近它
    请看:
    收敛时:
    (从0,1之间的某数开始)迭代 2x(1-x) //你得到1/2
    发散时:
    迭代x^2 //显然会溢出,你可能争辩它是趋向正无穷,而正无穷,在某种意义上,也是一个不动点。
    也可以出现循环:
    (从0,1之间的某数开始)迭代 3.25x(1-x) //你得到二循环0.8124 0.4953(近似)
    (从0,1之间的某数开始)迭代 3.525x(1-x) //你得到四循环0.3709 0.8225 0.5146 0.8805(近似)
    还有一种更奇妙的情况,留给你自己试试:
    (从0,1之间的某数开始)迭代 3.6x(1-x) 或 4x(1-x) //你可以写个程序对kx(1-x) ,(k属于[0,4])迭代,看你会发现什么
    别忘了,这还只是一个二次函数的迭代。

    {zh1}插一个广告,读读《上帝掷骰子吗-混沌之数学》,是本好书,可惜已经不印了。别跟《量子力学史话》弄混了。

  8. SARS虫虫 说:

    想到了Memento的海报。

  9. duscbt 说:

    不过这个命运确实是囧了一点……

  10. herolifan 说:

    的确,迭代不一定会收敛,你不能说所有方程的解都是个不动点,这个不动应当有条件才对啊

  11. herolifan 说:

    的确,迭代不一定会收敛,你不能说所有方程的解都是个不动点,这个不动应当有条件才对啊

  12. roger 说:

    华罗庚来解释一下!

  13. poulain 说:

    不懂为什么这些个地图迭起来的不动点是一个

  14. 白左 说:

    原来超越方程真的没有解啊……

  15. Lisa 说:

    我们的命运都是250.。。。身为{wy}一个非学术的评论,我很荣幸。。。

  16. 孤生竹 说:

    通俗数学名著译丛里的有本,其中一章就是专门讲不动点理论的。不动点理论的应用很多,纳什均衡就是不动点的一种形式。

  17. 说:

    大意是明白则,给了题目还是不知道要怎么办歪。。。看上去还是要求救计算机。。。

  18. 老妖 说:

    原来很多心理魔术都是用的这个原理

  19. 六子 说:

    实际上讲的是收敛速度吧,二分法的收敛速度在很多情况下都是比较慢的。
    而且迭代和不动点在数值数学里是很重要的概念。

  20. 四月 说:

    我还是觉得没解释清楚…

Leave a Reply

必填

必填,不会公开

选填

郑重声明:资讯 【科学松鼠会» 数学魔术系列之愚人节的计算器】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——