Fibonacci数列和准晶图案
在数学上,Fibonacci数列以如下被以递推的方法定义:

根据之前对数列的求解方法,我们可以编写相应的程序:

Fibonacci假设每对大兔子(L)每月生1对小兔子(S),即L变成LS,而1个月后小兔子长大,S变成L(假定兔子永不死去)。这样,第1月从L开始,第2月就是LS,第3月是LSL,因为左边的L变成LS,右边的S变成L,如此类推,随着时间的推移,就得到了1维准晶图案。

这里用了cell的数据类似,因为f的分量元素个数随着i的变化而增多,用矩阵是不方便的。这里f{i}记录了第i月的L,S序列,我们用2、1表示L、S。在第7行进行判断,如果该位置是大兔子,下个月就是2和1,否则就是小兔子,下个月就是2了。f{i}=[f{i} 2]的意思是在f{i}的基础上,增加新的元素,这是Octave的数组操作语法。
如果推广到二维情况,我们可以发现很多植物就满足类似的规律。下图最右方是数值模拟的结果:选择一个固定的角度(a=137.5度)和大小相同的圆,假定圆心都在该角度倍数(依次增大)的射线上,第一个圆通过原点。第二个圆的圆心在2a的射线上移动,直到和第一个圆相切,第三个圆的圆心在3a的射线上移动,直到和第一或者第二个圆相切,如此类推。
