Fibonacci數(shù)列和準(zhǔn)晶圖案
? ? ? ? ? 在數(shù)學(xué)上,F(xiàn)ibonacci數(shù)列以如下被以遞推的方法定義:

? ? ? ? ?根據(jù)之前對(duì)數(shù)列的求解方法,我們可以編寫相應(yīng)的程序:

? ? ? ?Fibonacci假設(shè)每對(duì)大兔子(L)每月生1對(duì)小兔子(S),即L變成LS,而1個(gè)月后小兔子長大,S變成L(假定兔子永不死去)。這樣,第1月從L開始,第2月就是LS,第3月是LSL,因?yàn)樽筮叺腖變成LS,右邊的S變成L,如此類推,隨著時(shí)間的推移,就得到了1維準(zhǔn)晶圖案。

? ? ? 這里用了cell的數(shù)據(jù)類似,因?yàn)閒的分量元素個(gè)數(shù)隨著i的變化而增多,用矩陣是不方便的。這里f{i}記錄了第i月的L,S序列,我們用2、1表示L、S。在第7行進(jìn)行判斷,如果該位置是大兔子,下個(gè)月就是2和1,否則就是小兔子,下個(gè)月就是2了。f{i}=[f{i} 2]的意思是在f{i}的基礎(chǔ)上,增加新的元素,這是Octave的數(shù)組操作語法。
? ? ? ?如果推廣到二維情況,我們可以發(fā)現(xiàn)很多植物就滿足類似的規(guī)律。下圖最右方是數(shù)值模擬的結(jié)果:選擇一個(gè)固定的角度(a=137.5度)和大小相同的圓,假定圓心都在該角度倍數(shù)(依次增大)的射線上,第一個(gè)圓通過原點(diǎn)。第二個(gè)圓的圓心在2a的射線上移動(dòng),直到和第一個(gè)圓相切,第三個(gè)圓的圓心在3a的射線上移動(dòng),直到和第一或者第二個(gè)圓相切,如此類推。
