為了學習動態系統和混沌,首先要知道迭代,即不斷重複某個過程。 例如種群的增長就是一個迭代過程, 因為繁衍過程會不斷地重複。 我們先來看一個簡單的增長模型——simple population growth.nlog。 這個模型可以在課程網頁上下載。 打開這個模型。 在這個模型裏,當我們點擊setup按鈕時,模型產生一個個體作為種群。 出生率設為2,即每一步這只兔子會生下兩隻兔子,然後死亡。 所以當按下reproduce按鈕時,可以注意到這個過程。 現在後代是兩隻兔子。 如果再來一次,那麼現在這兩隻兔子會生下4只兔子,然後死去。 以此類推,模型裏很快就到處是兔子。 模型給出了兩條曲線。 上面一條是種群數量對時間作圖。 每一步種群數量都會翻倍,增長非常迅速。 還有另一種描述這個過程的方法。 用去年的種群數量對今年的 數量作圖。 這裏每一步就代表一年。 如果去年的數量是,大概100吧,那今年的數量就是200. 如兩個橫縱坐標所示。 去年是300,今年就是600。 所以圖像是條直線。非常簡單。 因為它很簡單,所以我們可以寫出它的數學模型。 先點這裏關掉netlogo。 然後我們來寫方程。 首先來定義一些符號: 種群數量稱為n, 初始種群數量為n(0)(0是下標), ——在我們的模型中,n(0)等於1,即最開始只有1只兔子—— n(1)等於第一年的數量,然後依次類推 ——這裏n(1)等於2,最開始的那只兔子生了2只兔子然後死去。 我們可以把第t年的種群數量標為n(t)。 同時也要設定出生率,即每年出生的後代數量。 注意n(1)等於出生率乘以n(0),即最初有1只,然後乘以2得兩個後代。 類似地,n(2)等於出生率乘以n(1)。 所以一般的運算式就是n(t+1),即第t+1年的數量,等於出生率乘以前一年的數量nt。 這就是我們的模型。 在這裏,迭代就是利用前一年的數量去計算下一年的數量。 再下一年的數量又可以由剛得到的數量計算。以此類推。 這就是迭代。 剛才的種群增長是指數增長。 這可以由一個統計種群增長的表格看出。 先是年t,然後是當年的數量n(t)。 當t等於0,n(t)等於1. 還有出生率等於2。 第一年n(t)等於2;第二年n(t)等於4.每年種群數量都在翻倍。 到第三年n(t)等於8,等等。 希望大家看到其中的趨勢。 在第t年,種群數量為2的t次方。 2的1次,2次,3次,t次(話真多!)。 這就叫指數函數,因為這裏有個指數t。 這種增長方式非常迅速。 當然,這是完全不現實的。 因為這是完全不受控的增長。 在現實世界中,增長是有限制的。 種群在增長時會耗盡資源,食物和空間。 但我們先假設沒有這些限制,然後再看一遍netlogo模型。 一個充滿兔子的世界,一條數量對時間的曲線, 也可以用今年數量對去年數量作圖 這裏數量對時間的曲線符合指數函數,2的t次方。 但如果用今年的數量對去年的數量作圖則得到線性方程。 寫個備註提醒一下: n(t+1)等於出生率乘以n(t) 如果大家還記得代數學,那這個方程就代表了一條直線: y等於斜率乘以x。 y是今年的數量,斜率就是生長率2, 將x乘以2就得到y。 這個線性方程反映了這個系統的線性本質,注意今年和去年數量的關係。 我們剛才說到線性和非線性。 線性是說兔子與兔子之間沒有相互影響, 兔子獨立繁殖,互不影響。 在這個意義上,互不影響導致了線性增長。 小測驗:假設出生率是3,初始兔子數量n(0)等於1,那麼n(4)是多少?