单种群动力学模型的Matlab仿真
2011-01-19刘波
刘 波
(湖北民族学院 理学院,湖北 恩施 445000)
种群动力学模型[1]用于描述、预测以及调控种群的发展过程与发展趋势,是帮助人们制订和修正种群资源开发策略的重要工具.单种群模型作为整个种群生态学的基石,由于其形式简单、参数容易确定、对大量实际数据都能完美地拟合,因而受到生物学家和生物数学工作者的青睐[2].对单种群动力学模型的模型建立和理论分析,已有较为广泛的研究[2-4],而作为一种模型检验和预测的重要手段,计算机数值仿真往往没有受到应有的重视.计算机数值仿真可以将抽象复杂的理论研究结果,转化成易于人们理解的数值序列或图形演示,使复杂的动力学分析和数量巨大的参数筛选及动态过程的模拟成为可能[5].基于Matlab的单种群离散模型数值仿真手段主要有三种:线性联结图、蛛网图、费根鲍姆图[6],目前使用最为广泛的是线性联结图[7],而蛛网图和费根鲍姆图则较少应用.线性联结图是种群数量或密度随着时间变化的序列图像,能够直观反映种群随着时间演化的持续生存性、绝灭性和周期性.线性联结图绘制简单易于理解,但在确定系统的周期性上存在缺陷,一般只能确定近似周期,如果能将蛛网图和费根鲍姆图结合起来,不但能比较准确地确定系统的周期性,而且还可以进一步揭示系统更为复杂的渐近行为.
1 单种群离散模型的Matlab仿真
考虑一类简单的Logistic单种群离散模型:ut+1=rut(1-ut),r>0.
ut和ut+1分别是种群在t时刻和t+1时刻的种群密度,为保证解的正性,通常假设初值满足0 对迭代函数xn+1=f(xn),n=0,1,2,…,在以迭代次数n为横轴、迭代值xn为纵轴的平面直角坐标系中,不断以直线段联结相邻迭代点列形成的折线图,称为线性联结图.线性联结图可以很好地揭示迭代序列在无穷远处的渐近行为,通常用来观察种群动力学模型的持续生存性、绝灭性和近似周期性. 下面给出绘制系统(1)线性联结图的Matlab程序及图例: function linlink(x,a,nspan) %linlink(0.79,3.8284,[451,1000]); funstr=strrep('a*x*(1-x)','a',num2str(a)); cmdstr=['x(n)=',strrep(funstr,'x','x(n-1)'),';']; n_start=nspan(1); n_final=nspan(end); for n=2:n_final, eval(cmdstr); end; figure; plot(n_start:n_final,x(n_start:n_final)); xlabel(['n from ',num2str(n_start),' to ',num2str(n_final)]); ylabel([cmdstr,' with x(0)=',num2str(x(1))]); title('Linear Connection Diagram'); zoom xon; (a)linlink(0.20,3.5000,[800,900]);(b) linlink(0.16,3.5000,[120,300]);(c)linlink(0.79,3.8284,[640,820])图1 线性联结图Fig.1 Linear conneition graph 通过观察图1(a)~(c)所示线性联结图,可以分析得知种群在不同初值条件和参数条件下,系统的持续生存性容易确定,周期性尚不明确,例如图2(a)振荡发散,存在近似周期;图2(b)和图2(c)振荡发散,周期性不易确定. 对迭代函数,在平面直角坐标系画出直线和,自上某初始点引垂直线段与相交,再以交点引水平线段与相交,如此反复形成的折线图形似阶梯或蛛网,称为蛛网图.蛛网图可以很好地揭示迭代序列在无穷远处的渐近行为,通常用来观察种群动力学模型的持续生存性、绝灭性和准确周期性. 下面给出绘制系统(1)蛛网图的Matlab程序及图例: function spilink(x,a,nspan) %spilink(0.2,3.5644,[1,500]) funstr=strrep('a*x*(1-x)','a',num2str(a)); cmdstr=['x(n)=',strrep(funstr,'x','x(n-1)'),';']; n_start=nspan(1); n_final=nspan(end); for n=2:n_final+1, eval(cmdstr); end; figure; ezplot('x',[-0.2,1.2]); hold on; ezplot(funstr,[-0.2,1.2]); ylabel([cmdstr,' with x(0)=',num2str(x(1))]); title('Spider Connection Diagram') for n=n_start:n_final plot([x(n),x(n)],[x(n),x(n+1)],'r-'); plot([x(n),x(n+1)],[x(n+1),x(n+1)],'r-'); xlabel(['n of x(n) is arriving at ',num2str(n)]); drawnow; end (a)spilink(0.1,2.5300,[1,100]);(b)spilink(0.2,3.5644,[900,1200]);(c)spilink(0.1,3.1691,[1300,1400])图2 蛛网图Fig.2 Spider graph 通过观察图2(a)~(c)所示蛛网图,可以分析得知种群在不同初值条件和参数条件下,系统的持续生存性、周期性容易明确,例如图2(a)收敛,存在稳定点;图2(b)振荡发散,存在近似8-周期;图2(c)振荡发散,存在准确2-周期. 对迭代函数,在以参数为横轴、迭代序列为纵轴的平面直角坐标系中,对应不同的,在过点垂直横轴的方向,绘制所有点,如此反复形成的散点图形,称为费根鲍姆图.费根鲍姆图可以很好地揭示迭代序列在不同参数条件下的渐近行为,通常用来观察种群动力学模型的周期性、倍周期分岔和混沌等复杂现象. 下面给出绘制系统(1)费根鲍姆图的Matlab程序及图例: function fgblink(x,aspan,nspan) %fgblink(0.2,[2,4],[900,1300]) warning off; a_start=aspan(1); a_final=aspan(end); n_start=nspan(1); n_final=nspan(end); figure; for a=a_start:0.01:a_final funstr=strrep('a*x*(1-x)','a',num2str(a));cmdstr=['x(n)=',strrep(funstr,'x','x(n-1)'),';']; for n=2:n_final+1, eval(cmdstr); end; plot(a*ones(1,max(nspan)-min(nspan)+1),x(n_start:n_final),'r+'); drawnow; hold on; title(['a is arriving at ',num2str(a)]); end xlabel('a'); ylabel(['a*x*(1-x) with x(0)=',num2str(x(1))]); zoom xon; (a) fgblink(0.2,[0,4],[1,500]);(b) fgblink(0.2,[2,4],[900,1300]);(c)fgblink(0.2,[3.70,3.95],[10000,12000])图3 费极鲍姆图Fig.3 Feigenbanm graph 通过观察图3(a)~(c)所示费根鲍姆图,可以分析得知种群在不同参数条件下,系统出现倍周期分岔和混沌等复杂现象,例如图3(a)在取1.25时,存在稳定点;图3(b)在间于2.8和3.7时,出现倍周期分岔和混沌;图3(c)在间于3.7和3.9时,出现准确3-周期或5-周期. 本文分析和对比了三种不同的数值仿真手段在种群动力学模型仿真中的应用,通过编写Matlab程序对一类经典的Logistic单种群离散模型进行数值仿真,结果表明目前使用最为广泛的线性联结图只能用于确定近似周期,蛛网图则可以很好地弥补这一缺陷,而费根鲍姆图在探究动力学模型更为复杂的渐近行为时,具有独特的优势. 众多学者指出对于种群数目小,世代不重叠种群来说,差分系统表示的离散模型比连续模型更为合适[8],而且离散模型可以提供比连续模型更为有效的计算机数值仿真.因此,某些连续模型在一定条件下也可以通过差分化转化成相应的离散模型,综合应用本文介绍的三种数值仿真手段,可以帮助更加深刻地理解数学模型背后的生态学意义. [1] 陈兰荪,王东达.数学、物理学与生态学的结合─一种群动力学模型[J].物理,1994,23(7):408-413. [2] 唐三一,肖燕妮.单种群生物动力系统[M].北京:科学出版社,2008. [3] 陈兰荪,陈健.非线性生物动力系统[M].北京:科学出版社,1993. [4] 马知恩,种群生态学的数学建模与研究[M].合肥:安徽教育出版社,1996. [5] 黄樨.数学与计算机仿真在生态学研究中的应用[J].南京林业大学学报,2009,25(5):63-66. [6] 桂占吉.生物动力学模型与计算机仿真[M].北京:科学出版社,2005. [7] 杜斌,张彦民.MATLAB在种群动力学模型中的仿真研究[J].商洛学院学报,2010,24(2):28-31. [8] Murry J D. Mathematical biology[M].Berlin:Springer-Verlag,1989.1.1 线性联结图
1.2 蛛网图
1.3 费根鲍姆图
2 总结和讨论