种群的相互竞争模型中数值计算与结果分析
- 格式:doc
- 大小:225.00 KB
- 文档页数:8
实例动物种群的相互竞争与相互依存的模型实例2 动物种群的相互竞争与相互依存的模型在生物的种群关系中,一种生物以另一种生物为食的现象,称为捕食.一般说来,由于捕食关系,当捕食动物数量增长时,被捕食动物数量就逐渐下降,捕食动物由于食物来源短缺,数量也随之下降,而被捕食动物数量却随之上升.这样周而复始,捕食动物与被捕食动物的数量随时间变化形成周期性的震荡.田鼠及其天敌的田间种群消长动态规律也是如此.实验调查数据表明:无论是田鼠还是其天敌的数量都呈周期性的变化,天鼠与天敌的作用系统随时间序列推移,田鼠密度逐渐增加,其天敌随之增加,但时间上落后一步.由于天敌密度增加,则田鼠密度降低,而田鼠密度的降低,则其天敌密度亦减少,如此往复循环,从而形成一定的周期.试用数学模型来概括这一现象,并总结出其数量变化的近似公式.一问题分析及模型的建立设x(t)和y(t)分别表示t时刻田鼠与其天敌的数量,如果单独生活,田鼠的增长速度正比于当时的数量,即dx=λx dtdy=-μy dt而田鼠的天敌由于没有被捕食对象,其数量减少的速率正比于当时的数量,即现在田鼠与其天敌生活一起,田鼠一部分遭到其天敌的消灭,于是以一定的速率α减少,减少的数量正比于天敌的数量,因此有dx=(λ-αy)x dt类似地,田鼠的天敌有了食物,数量减少的速率μ减少β,减少的量正比于田鼠的数量,因此有dy=-(μ-βx)y dt上述公式,最后两个方程联合起来称为Volterra-Lot方程,这里α,β,λ,μ均为正数,初始条件为x(0)=x0,y(0)=y0现在通过实验调查所得到的数据如表,此数据为每隔两个月田间调查一次,得到的田鼠及其天敌种群数量的记录,数量的单位经过处理.试建立合理的数学模型.表田鼠种群数量记录29.7 33.1 32.5 69.1 134.2 236.0 269.6 162.2 69.6 39.8 34.0 20.7 22.0 37.6 57.6 124.6 225.0 272.7 195.7 94.5 41.9 25.7 10.9 22.5 33.5 48.2 92.5 183.3 268.5 230.6 115.5表田鼠天敌种群数量记录1.6 1.3 1.1 1.2 1.1 1.3 1.82.2 2.4 2.2 1.9 1.5 1.5 1.2 0.91.1 1.3 1.62.3 2.4 2.2 1.7 1.8 1.5 1.2 1.0 0.9 1.1 1.3 1.9 2.3二模型的求解Volterra-Lotok方程的解析解即x,y的显示解难求出,因此公式的参数方程不宜直接用Matlab函数来拟合解,可用如下的方法来求其近似解.Volterra-Lotok可转化为⎧dlnx=(λ-αy)dt ⎧dlny=(-μ+βx)dt⎧在区间[ti-1,ti]上积分,得lnxi-lnxi-1=λ(ti-ti-1)-αS1ilnyi-lnyi-1=-μ(ti-ti-1)+βS2i这里,S1i=⎧titi-1ydt,S2i=⎧xdt, i=1, ,m ti-2ti于是得到方程组⎧A1P1=B1 ⎧ AP=B2⎧22这里⎧t1-t0 t-tA1= 21t-t⎧mm-1-S11⎧⎧t1-t0⎧ -S12⎧ t2-t1A= 2 ⎧ ⎧ t-t-Sim⎧m-1⎧⎧m-S⎧⎧-S22⎧ ⎧⎧-S2m⎧⎧⎧-μ⎧⎧λ⎧ ⎧ P=P1= 2 β⎧⎧ α⎧⎧⎧⎧⎧B1=(lnxyx1y, ,lnm)T B=(ln1, ,lnm)T x0xm-1y0ym-1T-1TA2B2 因此方程组参数的最小二乘解为 T-1T P=(AA)A1B1 P=(A2A2)111由于x(t)和y(t)均为未知,因此S1i,S2用数值积分方法的梯形公式解S1i=⎧⎧titi-1ydt≈ti-ti-1(yi+yi-1) 2 S2=titi-1xdt=ti-ti-1(xi+xi-1) 2这样就可求得参数的近似值.模型参数求解的程序为clear all,clcX=[29.7 33.1 32.5 69.1 134.2 236.0 269.6 162.2 69.6 39.8 ...34.0 20.7 22.0 37.6 57.6 124.6 225.0 272.7 195.7 94.5 41.9 25.7 ... 10.9 22.5 33.5 48.2 92.5 183.3 268.5 230.6 115.5];Y=[1.6 1.3 1.1 1.2 1.1 1.3 1.8 2.2 2.4 2.2 1.9 1.5 1.5 1.2 0.9 ...1.1 1.3 1.62.3 2.4 2.2 1.7 1.8 1.5 1.2 1.0 0.9 1.1 1.3 1.9 2.3];N=[X;Y];T=[0:2:60];for i=1:30A(i,1)=T(i+1)-T(i);A(i,[2 3])=((T(i+1)-T(i))/2)*[-(N(1,i+1)+N(1,i)),-(N(2,i+1)+N(2,i))];B(i,[1 2])=[log(N(1,i+1)/N(1,i)),log(N(2,i+1)/N(2,i))];end;A1=A(:,[1 3]);P1=inv((A1'*A1))*A1'*B(:,1)A2=A(:,[1 2]);P2=inv((A2'*A2))*A2'*B(:,2)上述结果代入Volterra-Lotok方程,用MATLAB函数ode45求方程在时间[0,60]的数值解.作图可看到田鼠及其天敌数量的周期震荡.求方程Volterra-Lotok的数值解的程序为定义函数vlok为[vlok.m]function dydt=vlok(T,Y)dydt=[(0.8765-0.5468*Y(2))*Y(1);(-0.1037+0.0010*Y(1))*Y(2)];clear all, clcX=[29.7 33.1 32.5 69.1 134.2 236.0 269.6 162.2 69.6 39.8 ...34.0 20.7 22.0 37.6 57.6 124.6 225.0 272.7 195.7 94.5 41.9 25.7 ... 10.9 22.5 33.5 48.2 92.5 183.3 268.5 230.6 115.5];Y=[1.6 1.3 1.1 1.2 1.1 1.3 1.8 2.2 2.4 2.2 1.9 1.5 1.5 1.2 0.9 ...1.1 1.3 1.62.3 2.4 2.2 1.7 1.8 1.5 1.2 1.0 0.9 1.1 1.3 1.9 2.3]; N=[X,Y];T=[0:2:60];[t,Y]=ode45(@vlok,[0:0.5:60],[29.7 1.6]);plot(t,Y(:,1)/100,'k');hold on;plot(t,Y(:,2),'-.k');title('田鼠及其天敌的Volterra-Lotok模型拟合曲线');xlabel('时间');ylabel('数量(只/每百)');gtext('田鼠');gtext('天敌');legend('田鼠','天敌');legend('田鼠','天敌');图田鼠及其天敌的模拟曲线实线和虚线分别为田鼠和天敌的实际值,田鼠的数量为y坐标乘以100.。
数学实验设计课题:两种群相互竞争模型如下:()1(11)12()2(12)12x y x t r x s n n x y y t r y s n n ⎧=--⎪⎪⎨⎪=--⎪⎩其中x (t ),y(t)分别是甲乙两种群`的数量,r1,r2为它们的固有增长率,n1,n2为它们的最大容量。
s1的含义是,对于供养甲的资源而言,单位数量乙(相对n2)的消耗量为单位数量甲(相对n1)消耗的s1倍,对于s2也可做相应的解释。
分析:这里用x (t)表示甲种群在时刻t 的数量,即一定区域内的数量。
y(t)表示乙种群在时刻t 的数量。
假设甲种群独立生活时的增长率(固有增长率)为r1,则x (t)/ x=r1,而种群乙的存在会使甲的增长率减小,且甲种群数量的增长也会抑制本身数量的增长,即存在种间竞争。
这里,我们设增长率的一部分减少量和种群乙的数量与最大容纳量的比值成正比,与s1(s1表示最大容纳量乙消耗的供养甲的资源是最大容纳量甲消耗该资源的s1倍)成正比。
另一部分的减少量和种群甲的数量与甲的最大容纳量的比值成正比。
则我们可以得到如下模型:x(t)=r1*x*(1-x/n1-s1*y/n2)同样,我们可以得到乙种群在t时刻的数量表达式:y(t)=r2*y*(1-s2*x/n1-y/n2)如果给定甲、乙种群的初始值,我们就可以知道甲、乙种群数量随时间的演变过程。
对于上述的模型,我们先设定好参数以后,就可以用所学的龙格库塔方法及MATLAB 软件求其数值解;问题一:设r1=r2=1,n1=n1=100,s1=0.5,s2=2, 初值x0=y0=10,计算x(t),y(t),画出它们的图形及相图(x,y),说明时间t充分大以后x(t),y(t)的变化趋势(人民今天看到的已经是自然界长期演变的结局)。
编写如下M文件:function xdot=jingzhong(t,x)r1=1;r2=1;n1=100;n2=100;s1=0.5;s2=2; xdot=diag([r1*(1-x(1)/n1-s1*x(2)/n2),r 2*(1-s2*x(1)/n1-x(2)/n2)])*x;然后运行以下程序:ts=0:0.1:10;x0=[10,10];[t,x]=ode45(@jingzhong,ts,x0);[t,x]plot(t,x),grid,gtext('\fontsize{12}x(t)'),gtext('\fontsize {12}y(t)'),pause,plot(x(:,1),x(:,2)),grid, xlabel('x'),ylabel('y')得到10年间甲、乙两种群数量变化的图象为:123456789100102030405060708090100相图为:1020304050607080901000510152025xy结论:当t 充分大时,x 和y 的数量悬殊变大,最终是一方灭绝,一方繁荣。
7种群的相互竞争模型中数值计算与结果分析在生态系统中,物种之间存在着各种类型的相互关系,其中最为常见的是竞争关系。
而在生态学中,研究相互竞争的模型可以帮助我们理解不同物种之间的相互作用以及生态系统的稳定性。
本文将介绍基于7种群的相互竞争模型,并进行数值计算与结果分析。
1.模型的建立考虑一个由7种群(A、B、C、D、E、F、G)组成的竞争关系网络。
我们可以用以下方程来描述每个种群的变化率:dA/dt = rA(1-(A+αB+βC+γD+εE+ζF+ηG)/K1)(1)dB/dt = rB(1-(B+αA+βC+γD+εE+ζF+ηG)/K2)(2)dC/dt = rC(1-(C+αA+βB+γD+εE+ζF+ηG)/K3)(3)dD/dt = rD(1-(D+αA+βB+γC+εE+ζF+ηG)/K4)(4)dE/dt = rE(1-(E+αA+βB+γC+δD+ζF+ηG)/K5)(5)dF/dt = rF(1-(F+αA+βB+γC+δD+εE+ηG)/K6)(6)dG/dt = rG(1-(G+αA+βB+γC+δD+εE+ζF)/K7)(7)其中,r为生殖率,K为环境容纳量,α、β、γ、δ、ε、ζ和η为不同群体之间的竞争系数。
为了进行模拟计算,我们需要选择合适的参数值和初始条件。
首先,我们将初始种群密度设定为随机数,并将参数值设定为0.1接下来,我们使用数值计算方法(如欧拉法或四阶龙格-库塔法)来求解上述方程。
通过迭代计算,可以得到在不同时间点上每个种群的密度变化。
在得到结果之后,我们可以对数据进行统计和分析,以了解不同种群之间的竞争关系。
常用的分析方法包括计算平均密度、最大和最小密度、竞争强度等。
此外,我们还可以通过绘制种群密度随时间的变化曲线来直观地观察群体之间的竞争过程。
通过曲线的变化趋势,可以分析群体的生长速率、竞争关系的稳定性以及群体的周期性波动等。
最后,我们可以对不同的参数进行敏感性分析,以探讨不同竞争系数和环境容纳量对种群竞争模型的影响。
两种群间的相互竞争摘要本文针对两种群间的竞争问题作了详细的论述,主体分为两部分,第一部分主要通过理论分析的方法来阐述模型,第二部分主要利用MATLAB通过数值分析的方法从另一个角度来阐述模型,两个部分相辅相成,从不同的角度对同一个模型进行分析,并在最后得到一致的结果。
另外本文在第一部分主要以理论的方式对模型进行数学上的描述,在第二部分主要以生物间的角度对模型进行描述,与此同时对第一部分作一个总结。
关键词:稳定性平面动力系统增广相空间轨线一、问题提出两种群竞争模型很好的描述了种群间的各种关系,而如果从发展的眼光来看待问题,我们不禁对两种群在未来很长一段时间内的状态产生兴趣,换句话说,我们要研究的是在无穷远的将来,两个种群的数量变化关系,这对我们进一步研究生物学的各种问题是有意义的。
二、基本假设假设1: 有甲乙两个种群,它们独自生存时的数量变化服从Logistic 规律。
假设2: 两种群一起生存时,乙种群对甲种群增长的阻滞作用与乙种群的数量成正比,甲种群对乙种群增长的阻滞作用与甲种群的数量也成正比。
三、问题分析根据“假设1”,我们容易得到方程组如下1122()(1)()(1)dx t x r x dt n dy t y r y dtn ⎧=-⎪⎪⎨⎪=-⎪⎩ (1) 其中()x t ,()y t 分别为甲乙两种群随时间变化的数量;1r ,2r 为它们的固有增长率;1n 和2n 为环境允许条件下,甲乙两种群的最大数量。
再由“假设2”,对方程组(1)变形,我们得到方程组如下11122212()(1)()(1)dx t x y r x s dt n n dy t x y r y s dt n n ⎧=--⎪⎪⎨⎪=--⎪⎩(2) 其中1s 的含义是,对于供养甲种群的资源而言,单位数量乙(相对于2n )的消耗为单位数量甲(相对于1n )消耗的1s 倍;2s 的含义是,对于供养乙种群的资源而言,单位数量甲(相对于1n )的消耗为单位数量乙(相对于2n )消耗的2s 倍。
种内竞争与种间竞争数学模型实例分析1.1问题提出问题一:甲和乙两类群均能独立生存,比方将鲤鱼群放生,其在水中和卿鱼间的相互作用。
问题二:甲可以独自存活,但乙却只能依存甲而生活,这两者在一起能相互促进,令甲乙都得到存活,比方,植物能独自存活,但以花粉为食的昆虫却放须依靠其生存,而昆虫同时会帮助植物授粉推动其繁殖。
问题三:甲乙双方都无法独立生存,只能依靠彼此获得共生。
1.2问题分析(1)在某自然环境下只存在单类生物群体(即生态学中的种群)生存的情况下,人们往往通过Logistic 模型描述该种群数量产生的演变,公式为:)1()(N x rx t x -=')(t x 为种群为时刻t 的数量,r 代表固有增长率,N 代表环境资源下所能接受的最大种群量。
其中)1(N x -反应了一些种群对有限资源的消耗造成的影响其自身增长的作用,N x 代表着相对于N 来讲,单位数量中某个种群所消耗的食量(假设总量=1)(2)若同一自然环境内存在2个或多个种群,即其会产生竞争或依存关系,又或是供应链的关系,以下我们会由稳定转态角度展开对其依存关系的探讨。
1.3模型假设甲乙两种群各种独立于某个环境生存时,其数量产生的演变将遵守Logisti 规律。
设)(),(21t x t x 为两个种群数量,21,r r 为其固有增长率,21,N N 是它们的最大容量。
于是对于甲种群有:)1()(11111N x x r t x -=' 同理对于乙种群有 )1()(22221N x x r t x -=' 1.4模型建立与稳定性分析对于问题一:1、建立模型:)1()(22111111N x N x x r t x σ+-=' ④ )1()(11222222N x N x x r t x σ+-=' ⑤ 1σ的含义:单位数量乙(相对于2N )提供给甲的食量为单位数量(相对于1N )消耗食量的1σ2σ的含义:单位数量甲(相对于1N )提供给乙的食量为单位数量乙(相对于2N )消耗食量的1σ2、稳定性分析:3、数学建模过程与结果:根据数学实验以及数学建模的相关知识,利用数学软件Matlab 分别求解微分方程的图形和相轨线图形:Matlab 模型:function xdot=sheir(t ,x)n1=16;n2=1;r1=25;r2=18;q1=05;q2=16;xdot=[r1*x(1)*(1-(x(1)/n1)+q1*(x(2)/n2));r2*x(2)*(1-(x(2)/n2)+q2*(x(1)/n1))];>> ts=0:01:15;>> x0=[01,01];>> [t,x]=ode45('sheir',ts,x0);[t,x],>> plot(t,x),grid,gtext('x(t)'),gtext('y(t)'),>> plot(t,x),grid,gtext('x1(t)'),gtext('x2(t)'),>> ts=0:01:15;>> x0=[01,01];>> [t,x]=ode23('sheir',ts,x0);[t,x],>> plot(t,x),grid,gtext('x1(t)'),gtext('x2(t)'),相轨线:4、由上图可知:甲乙可以彼此立生存。
河北大学《数学模型》实验实验报告一、实验目的1.学会编写程序段。
2.能根据m文件的结果进行分析。
3.根据图像进行比较和分析。
二、实验要求8-1捕鱼业的持续收获运行下面的m文件,并把相应结果填空,即填入“_________”。
clear;clc;%无捕捞条件下单位时间的增长量:f(x)=rx(1-x/N)%捕捞条件下单位时间的捕捞量:h(x)=Ex%F(x)=f(x)-h(x)=rx(1-x/N)-Ex%捕捞情况下渔场鱼量满足的方程:x'(t)=F(x)%满足F(x)=0的点x为方程的平衡点%求方程的平衡点syms r x N E; %定义符号变量Fx=r*x*(1-x/N)-E*x; %创建符号表达式x=solve(Fx,x) %求解F(x)=0(求根)%得到两个平衡点,记为:% x0=______________ , x1=___________x0=x(2);x1=x(1);%符号变量x的结构类型成为<2×1sym>%求F(x)的微分F'(x)syms x; %定义符号变量x的结构类型为<1×1sym>dF=diff(Fx,'x');dF=simple(dF) %简化符号表达式%得 F'(x)=________________%求F'(x0)并简化dFx0=subs(dF,x,x0); %将x=x0代入符号表达式dFdFx0=simple(dFx0)%得 F’(x0)=_______%求F’(x1)dFx1=subs(dF,x,x1)%得 F’(x1)=________%若 E<r,有F'(x0)<0,F'(x1)>0,故x0点稳定,x1点不稳定(根据平衡点稳定性的准则);%若 E>r,则结果正好相反。
%在渔场鱼量稳定在x0的前提下(E<r),求E使持续产量h(x0)达到最大hm。
河北大学《数学模型》实验实验报告一、实验目的1.学会编写程序段。
2.能根据m文件的结果进行分析。
3.根据图像进行比较和分析。
二、实验要求8-1捕鱼业的持续收获运行下面的m文件,并把相应结果填空,即填入“_________”。
clear;clc;%无捕捞条件下单位时间的增长量:f(x)=rx(1-x/N)%捕捞条件下单位时间的捕捞量:h(x)=Ex%F(x)=f(x)-h(x)=rx(1-x/N)-Ex%捕捞情况下渔场鱼量满足的方程:x'(t)=F(x)%满足F(x)=0的点x为方程的平衡点%求方程的平衡点syms r x N E; %定义符号变量Fx=r*x*(1-x/N)-E*x; %创建符号表达式x=solve(Fx,x) %求解F(x)=0(求根)%得到两个平衡点,记为:% x0=______________ , x1=___________x0=x(2);x1=x(1);%符号变量x的结构类型成为<2×1sym>%求F(x)的微分F'(x)syms x; %定义符号变量x的结构类型为<1×1sym>dF=diff(Fx,'x');dF=simple(dF) %简化符号表达式%得 F'(x)=________________%求F'(x0)并简化dFx0=subs(dF,x,x0); %将x=x0代入符号表达式dFdFx0=simple(dFx0)%得 F’(x0)=_______%求F’(x1)dFx1=subs(dF,x,x1)%得 F’(x1)=________%若 E<r,有F'(x0)<0,F'(x1)>0,故x0点稳定,x1点不稳定(根据平衡点稳定性的准则);%若 E>r,则结果正好相反。
%在渔场鱼量稳定在x0的前提下(E<r),求E使持续产量h(x0)达到最大hm。
%通过分析(见教材p216图1),只需求x0*使f(x)达到最大,且hm=f(x0*)。
syms r x Nfx=r*x*(1-x/N);df=diff(fx,'x');x0=solve(df,x)%得 x0*=______hm=subs(fx,x,x0)%得 hm=_______%又由 x0*=N(1-E/r),可得 E*=______%产量模型的结论是:%将捕捞率控制在固有增长率的一半(E=r/2)时,能够获得最大的持续产量。
8-2种群的相互竞争(1)补充如下指出的程序段,然后运行该m文件,对照教材上的相应结果。
clear;clc;%甲乙两个种群满足的增长方程:% x1'(t)=f(x1,x2)=r1*x1*(1-x1/N1-k1*x2/N2)% x2'(t)=g(x1,x2)=r2*x2*(1-k2*x1/N1-x2/N2)%求方程的平衡点,即解代数方程组% f(x1,x2)=0 g(x1,x2)=08-3种群的相互竞争(2)补充如下指出的程序段,然后运行该m文件,对照教材上的相应结果。
clear;clc;%甲乙两个种群满足的增长方程:% x1'(t)=f(x1,x2)=r1*x1*(1-x1/N1-k1*x2/N2)% x2'(t)=g(x1,x2)=r2*x2*(1-k2*x1/N1-x2/N2)%求方程的平衡点,即解代数方程组% f(x1,x2)=0 g(x1,x2)=0编写出该程序段。
三、实验内容8-1捕鱼业的持续收获——产量模型%文件名:p178.mclear;clc;%无捕捞条件下单位时间的增长量:f(x)=rx(1-x/N)%捕捞条件下单位时间的捕捞量:h(x)=Ex%F(x)=f(x)-h(x)=rx(1-x/N)-Ex%捕捞情况下渔场鱼量满足的方程:x'(t)=F(x)%满足F(x)=0的点x为方程的平衡点%求方程的平衡点syms r x N E; %定义符号变量Fx=r*x*(1-x/N)-E*x; %创建符号表达式x=solve(Fx,x) %求解F(x)=0(求根)%得到两个平衡点,记为:% x0=N(1-x/N) , x1=0x0=x(2);x1=x(1);%符号变量x的结构类型成为<2×1sym>%求F(x)的微分F'(x)syms x; %定义符号变量x的结构类型为<1×1sym>dF=diff(Fx,'x');dF=simple(dF) %简化符号表达式%得 F'(x)=___________%求F'(x0)并简化dFx0=subs(dF,x,x0); %将x=x0代入符号表达式dFdFx0=simple(dFx0)%得F’(x0)=E-r%求F’(x1)=r-EdFx1=subs(dF,x,x1)%得F’(x1)=r-E%若 E<r,有F'(x0)<0,F'(x1)>0,故x0点稳定,x1点不稳定(根据平衡点稳定性的准则);%若 E>r,则结果正好相反。
%在渔场鱼量稳定在x0的前提下(E<r),求E使持续产量h(x0)达到最大hm。
%通过分析(见教材p178图1),只需求x0*使f(x)达到最大,且hm=f(x0*)。
syms r x Nfx=r*x*(1-x/N);a)df=diff(fx,'x');x0=solve(df,x)%得 x0*=N/2hm=subs(fx,x,x0)%得 hm=(r*N)/4%又由 x0*=N(1-E/r),可得 E*=r/2%产量模型的结论是:%将捕捞率控制在固有增长率的一半(E=r/2)时,能够获得最大的持续产量。
[提示]符号简化函数simple的格式:simple(S)对符号表达式S尝试多种不同的算法简化,以显示S表达式的长度最短的简化形式。
变量替换函数sub的格式:Subs(S,OLD,NEW)将符号表达式S中的OLD变量替换为NEW变量。
8-2种群的相互竞争%文件名:p186.mclear;clc;%甲乙两个种群满足的增长方程:% x1'(t)=f(x1,x2)=r1*x1*(1-x1/N1-k1*x2/N2)% x2'(t)=g(x1,x2)=r2*x2*(1-k2*x1/N1-x2/N2)%求方程的平衡点,即解代数方程组% f(x1,x2)=0% g(x1,x2)=0%得4个平衡点:% P(1)=P1(N1,0)% P(2)=P2(0,N2)% P(3)=P3(N1*(-1+k1)/(-1+k2*k1),N2*(-1+k2)/(-1+k2*k1))% P(4)=P4(0,0)%平衡点位于第一象限才有意义,故要求P3:k1,k2同时小于1,或同时大于1。
%判断平衡点的稳定性(参考教材p200)fx1=diff(f,'x1');fx2=diff(f,'x2');gx1=diff(g,'x1');gx2=diff(g,'x2');A=[fx1,fx2;gx1,gx2]syms x1 x2;p=subs(-(fx1+gx2),{x1,x2},{P(:,1),P(:,2)});p=simple(p);%简化符号表达式pq=subs(det(A),{x1,x2},{P(:,1),P(:,2)});q=simple(q);[P p q]%得到教材p186表2的前3列,经测算可得该表的第4列,即稳定条件。
8-3种群的相互竞争(2)求微分方程组⎪⎪⎩⎪⎪⎨⎧--=--=••)1()()1()(2211222222111111N x N x x r t x N x N x x r t x σσ 的数值解,分别画出教材p189中的图5-1,图5-2,图5-3。
有关数据参见教材p188中“计算与验证”。
[提示](1)求微分方程组的数值解可参考教材p139的程序。
(2)在figure(1)中画图5-1,在figure(2)中画图5-2,在figure(3)中画图5-3。
在程序中,figure(图形编号)用于定位对应图形。
(3)使用text(x,y,’标识文本’),坐标点(x,y)在“标识文本”的左边,调整(x,y)值,使“标识文本”放在图中的适当位置。
(4)用axis([xmin xmax ymin ymax])控制坐标的刻度范围。
(5)用grid on 打开网格,grid off 关闭网格。
(6)用hold on 把要画的图形保持在之前在同一figure 上所画的图形中(同一坐标系)。
(7)图5-3中的两“点线”直线,一条的两个端点为(0,1)和(1,0),另一条的两个端点为(0,2)和(1.6,0)。
四、实验结果及其分析8-1捕鱼业的持续收获 ——产量模型8-2种群的相互竞争(1)1.实验代码:syms r1 r2 N1 N2 k1 k2 x1 x2;f=r1*x1*(1-x1/N1-k1*x2/N2);g=r2*x2*(1-k2*x1/N1-x2/N2);[x1,x2]=solve(f,g,x1,x2)P=[x1,x2];fx1=diff(f,'x1');fx2=diff(f,'x2');gx1=diff(g,'x1');gx2=diff(g,'x2');A=[fx1,fx2;gx1,gx2]syms x1 x2;p=subs(-(fx1+gx2),{x1,x2},{P(:,1),P(:,2)}); p=simple(p);q=subs(det(A),{x1,x2},{P(:,1),P(:,2)});q=simple(q);[P p q]2.实验结果8-3种群的相互竞争(2)1.实验代码%脚本文件function f=fun(t,x)r1=2.5;r2=1.8;N1=1.6;N2=1;k1=0.5;k2=1.6;f=[r1*x(1).*(1-x(1)./N1-k1.*(x(2)./N2));r2*x(2).*(1-k2*x(1)./N1-x(2)./N2)]; %[t,x]=ode45('fun',[0 8],[0.1;0.1]);plot(t,x(:,1),t,x(:,2));axis([0 8 0 2]);grid on;[t,x]=ode45('fun',[0 8],[1;2]);plot(t,x(:,1),t,x(:,2));axis([0 8 0 2]);grid on;[t,x]=ode45('fun',[0 8],[0.1;0.1]);plot(x(:,1),x(:,2));hold on;[t,x]=ode45('fun',[0 8],[1;2]); plot(x(:,1),x(:,2));x1=0:0.1:1;y1=-x1+1;x2=0:0.1:2;y2=-1.25*x2+2;2.实验结果。