IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

为什么Fibonacci数列相邻两项之比会趋于0.618?

Matrix67: My Blog 2013-04-06 23:13:26 累计浏览 5,324 次
本机暂存

    你或许熟知一个非常经典的结论: Fibonacci 数列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, … (头两项都是 1 ,此后每一项都是前两项之和)的相邻两项之比将会越来越接近黄金比例 0.618 ,不信请看:

   1 / 1 = 1.0000000...

         1 / 2 = 0.50000000...

         2 / 3 = 0.66666667...

         3 / 5 = 0.60000000...

         5 / 8 = 0.62500000...

         8 / 13 = 0.61538462...

         13 / 21 = 0.61904762...

         21 / 34 = 0.61764706...

         34 / 55 = 0.61818182...

         55 / 89 = 0.61797753...

         89 / 144 = 0.61805556...

         144 / 233 = 0.61802575...

         … …

    Fibonacci 数列究竟是怎么和黄金比例扯上关系的?一个简单的解释就是,假设相邻两项之比存在一个极限,那么到了无穷远的时候,连续的三个数 a, b, a + b 将会满足 a / b = b / (a + b) ,这正好就是黄金比例的定义。我最近用 Mathematica 做了一组动画,尝试着用图形化的方法更直观地展示 Fibonacci 数列和黄金比例之间的联系。

         原图已失效

    首先,让我们用另一种方式来定义黄金比例。如果在一个矩形中切掉一个正方形以后,剩下的小矩形的长宽比正好和原矩形相同(即大小两个矩形相似),我们就说这个矩形是一个黄金矩形,可以求出它的宽与长之比应该等于 (√5 - 1) / 2 ,一个约为 0.618 的无限不循环小数,也就是我们所说的黄金比例。我们要说明的就是,分别以 (1, 1), (1, 2), (2, 3), (3, 5), (5, 8), (8, 13), … 为边的矩形序列,其长宽比将会越来越接近这个黄金比例。

   原图已失效

       注意到,在这个矩形序列中,每一个矩形都可以看作是由上一个矩形旋转 90 度后再拼接一个正方形得来的,例如下图。

   原图已失效

       现在,我们从 (1, 1) 开始,不断构造下一个矩形,并且保留作图痕迹。你会看到,随着尺度的增加,初始时的细节已经消失,于是整个矩形看起来和它左侧的小矩形具有完全相同的无限递归结构。渐渐地,大小两个矩形变得几乎完全相似,它们的长宽比变得几乎完全相同!这就说明,矩形的长宽比将会越来越接近黄金比例。

   原图已失效

       有趣的是,不管最初的那个矩形的长宽比是什么,随着尺度的增加,它对整个图形的结构产生的影响都会越来越小,就好像不断扩散的涟漪一样,最终在水面上完全消失。因而,不管数列的最初两个数是什么(比如说 2 和 7 ),只要今后每一个数都是前两个数之和,相邻两项之比总是会越来越接近 0.618 。这可以很好地解释一个我很喜欢的数学小魔术

同分类推荐文章

  1. 对基本有序的序列排序算法 (2026-06-11 17:46:49)
  2. Four Levels Of Customer Understanding (2026-05-22 21:00:00)
  3. 除法的意义 (2026-04-12 20:52:17)

查看更多 算法 文章 →

建议继续学习

  1. 千万不要迷信规律:大反例合集 (累计阅读 4,839)
  2. 又一个有趣的面试题 (累计阅读 4,436)
  3. 看来看去都是看数学书 (累计阅读 4,138)
  4. 小心递归次数限制 (累计阅读 4,043)
  5. 在2048里能够得到的最大的数是多少? (累计阅读 3,799)
  6. 倒置字符串中的单词 (累计阅读 3,607)
  7. 递归创建目录的一个函数 (累计阅读 3,212)
  8. 递归字符转义 (累计阅读 2,934)
  9. 程序设计中的计算复用(Computational Reuse) (累计阅读 2,673)
  10. 算法复杂度求法初学 (累计阅读 2,596)