实验4常微分方程数值解 下载本文

.

16页

.

题目9

两种群相互竞争模型如下:

其中x(t),y(t)分别为甲乙两种群的数量;r1,r2为它们的固有增长率;n1,n2为它们的最大

容量。s1的含义是,对于供养甲的资源而言,单位数量乙(相对n2)的消耗为单位数量甲(相对n1)消耗的s1倍,对s2可作相应的解释。

该模型无解析解,试用数值解法研究以下问题:

(1)设r1=r2=1,n1=n2=100,s1=0.5,s2=2,初值x0=y0=10,计算x(t),y(t),画出它们的图形及相图(x,y),说明时间t充分大以后x(t),y(t)的变化趋势(人们今天看到的已经是自然界长期演变的结局)。

(2)改变r1,r2,n1,n2,x0,y0,但s1,s2不变(或保持s1<1,s2>1),计算并分析所得结果;若s1=1.5(>1),s2=0.7(<1),再分析结果。由此你得到什么结论,请用各参数生态学上的含义作出解释。

(3)试验当s1=0.8(<1),s2=0.7(<1)时会有什么结果;当s1=1.5(>1),s2=1.7(>1)时又会有什么结果。能解释这些结果吗?

9.1 模型分析

此题的模型很类似教材中的“弱肉强食”模型,只是多考虑了竞争资源的问题。微分方程描述了竞争关系和捕食关系。通过对微分方程组进行数值求解,即得出竞争关系的直观表示。

9.2 程序代码

设x(1)=x,x(2)=y 编写M文件如下:

function dx=jing(t,x,r1,r2,n1,n2,s1,s2)

dx=[r1*x(1)*(1-x(1)/n1-s1*x(2)/n2);r2*x(2)*(1-s2*x(1)/n1-x(2)/n2)]; end

ts=0:0.1:15; x0=[10,10];

option=odeset('reltol',1e-6,'abstol',1e-9);

[t,x]=ode45(@jing,ts,x0,option,1,1,100,100,0.5,2); [t,x]

plot(t,x),grid,

title('图1.时间-种群数量') xlabel('t') ylabel('x,y') gtext('x(t)') gtext('y(t)') pause

plot(x(:,1),x(:,2)),grid title('图2.相图')

17页

.

xlabel('x') ylabel('y')

【小结】

18页

.

如图,可以清晰地看出,t充分大之后,y起初小有增长,随后衰减,直至灭亡,而x则一直增长。二者数量在大约10年时已经趋于稳定,此时x的数量约稳定在100,而y已经彻底灭亡。

9.3 改变参数

1.改变r1与r2,即改变固有增长率 (1).r1=0.4,r2=0.4

jing函数中设计了各参数的接口,只要改变输入即可,程序代码省略。

数据分析:

19页

.

由图中数据可以看出,改变二者增长率,最终结果并没有变化。仍然是甲达到100,而乙彻底灭绝。与之前变化不同的是,达到稳定需要更长的时间,约25年。可以看出,增长率减少,种群数量变化的速度会减慢。

(2).r1=5,r2=0.4

数据分析:

20页