虫口模型

虫口模型的研究与教学设计
作者:贾砚宾
1  物理情景
假定有某种昆虫,在不存在世代交叠的情况下,即每年夏天成虫产卵后全部死亡,第二年春天每个虫卵孵化为虫。很显然,若产卵数大于1,则虫口就会迅速增加,“虫满为患”。但在虫口数目增大的同时又由于争夺有限的食物和生存空间而不断发生咬斗事件,也可能因接触感染而导致疾病蔓延,这些又会使虫口减少1。
综合考虑正增长和负增长,即鼓励和抑制这两种因素的作用,经过一定的数学抽象和变换后,最终得到虫口方程如下:
()n n n x x x −=+11λ
(3.4.1) 式中各量的取值范围为
n=1,2,3,…,∞  x n :[0,1];  λ:[0,4]
式中各量的意义如下。假定虫口环境所能支撑和供应的最大虫口限额为N 0,且N 0>>1。第n 代虫口数为N n ,则x n =N n /N 0,是为第n 代的相对虫口数。显然,1就是最大虫口数目,故x n 的值不能超过1。λ是控制参量。虫口模型要求λ取值[0,4],这是因为在λ>4时会出现发散现象,方程就将失去意义。如对x n+1=5x n (1-x n ),当代入x n =0.5后会得到 x n+1=1.25,而最大相对虫口数只能为1,x n = 1.25显然没有意义。
这是一个最简单的非线性动力系统模型,系统的解随控制参量的变化(时间(n )的推移,随着λ的变化)而变化,许多奇特的事情将会发生。虫口方程的形式很简单,但其内容却十分丰富,值得进一步去研究它。
下面我们就编写Matlab 程序,研究在确定的λ值下,x n 与n 的关系,以及n 很大的情况下x n 随着λ的分布情况。
2  编程例析
宁资理首先试着画出当λ取固定值,x 0为在[0,1]间的任意初值,迭代次数达到足够大时x n 的变化趋势,即x n -n 图。程序代码如下: x0=abs(sin(randn));y0=0;
%取x0为[0,1]间的随机数 lamda=0.8;
%固定定λ值 xn=x0;      %将x0赋给迭代变量xn
1《物理学补充教材》wwwdxw/dehome/study/contents/renew.htm 2003
for n=1:150 %以n为循环变量开始循环迭代
xn=lamda*xn*(1-xn); %进行迭代150次
plot(n,xn,'*b');  %画出每次迭代出的xn值,横坐标为迭代次数。
hold on
end
我们还可以用另一种方式看出x n与n的关系。固定参量λ后,将式(3.4.1)右边看作函数y=λx(1-x),我们将其作为映射函数。为了把每一次迭代的结果变成下一次的输入量,在图上画一等分角线y=x,并通过它与映射函数之间做一次投影。取一个初值x0,在图上不断作竖直线和水平线来实现迭代,得到一条轨线x0,x1,x2,x3,…,x i,…,其中每一个x i是一个轨道点。表示方法如图3-7所示。
图3-7 映射迭代过程
画出映射迭代图的程序段如下:
传授犯罪方法罪x0=abs(sin(randn));  %初值取随机数
xn=x0;yn=y0; lamda=1.2; %设定初值
x=0:0.001:1;
y=lamda.*x.*(1-x); %得出表达式y=λx(1-x)
plot(x,y,'r');hold on %画出抛物线
plot(x,x); %画出等分角线y=x
for n=1:150 %建立循环开始迭代
yn=lamda*xn*(1-xn); %迭代关系式
line([xn xn],[xn yn]); %画竖线,与抛物线相交于[xn,yn]点
line([xn yn],[yn,yn]); %从[xn,yn]点画横线交等分角线于[yn,yn]点
上海公共网xn=yn; %将映射所得的yn赋给下一次迭代的初值xn
短期融资券管理办法end %结束循环
上面的程序都是研究当λ固定,x n随n的变化趋势。那么对于不同的λ,迭代结果
又会有什么不同呢?下面再编写程序研究当n取足够大时(例如150次),继续迭代若干次的结果(定常解ξ)与参数λ的关系,即要画ξ-λ图象。下面给出作图程序:
x0=abs(sin(randn));  %取随机的初值
lamda=0:0.001:4; %λ从0连续取到4,步长为0.001
xn=x0; %将x0赋给迭代变量xn
for i=1:150 %先进行循环迭代以达到稳定的定常解ξ
xn=lamda.*xn.*(1-xn); %迭代150次,而不作图。
我是新国货end
for i=1:200 %再进行循环,看定常解ξ与λ的关系
xn=lamda.*xn.*(1-xn); %用定常解进行迭代
plot(lamda,xn,'k'); %画图
hold on
end
建议读者将这几个程序段加以修改合并为一个完整的程序。
3 运行结果及分析
首先看一下当λ取固定值时,x n的值随n的变化情况。当λ=0.8时,上面程序的运行结果如图3-8所示。
图3-8 λ=0.8时的迭代图
这四幅图中,上面是映射迭代图,下面是对应的x n-n图。左面和右面分别是取不同的初值x0的迭代结果(左面的初值约为0.08,右面的初值约为0.15)。从图上可以看出,对于不同的初值,经过一定次数的迭代,都逐渐趋于同一个稳定的点,即原点O。我们称这个点为平衡点,其物理意义是,随着时间的推移,无论初值如何,系统将向稳定的
不动点发展演化。
梁挠度当λ取1.8时,所得图像如图3-9所示:
图3-9 λ=1.8时的迭代图像
此时发现经过一定次数的迭代后,系统有了另一个稳定的不动点,在0.444左右。即如果初值任取不为零的数,则迭代结果总会向0.444逼近。容易看出,如果取x0=0代入,则x n恒等于0,即0仍是方程的一个不动点。
当λ=3.21时,运行结果如图3-10所示。
图3-10 λ=3.21时的迭代结果
这时将发现出现了与上面不一样的结果。n取得足够大时,x n不再趋于一个稳定点,而是在两个稳定点(0.80和0.51)间来回振动,可以说系统的迭代结果出现了2倍周期分岔,x n-n曲线变成了两条——非线性的效应初步显示出来了。反映在物理意义上,意味着虫子的数目今年多,明年少,后年又多起来,但总是在两个确定的数之间波动。
进一步再取λ=3.5,会发现系统的迭代结果在4个稳定点间周期性的振动,x n-n曲线分成了四条——系统出现了4倍周期分岔(如图3-11所示)!
图3-11 4倍周期分岔
再取λ=3.7代入方程,运行结果如图3-12所示
图3-12 λ=3.7的迭代结果
由图可以看出,此时系统又一次发生了突变,看不出存在的稳定点,即系统已经失稳,得到的迭代结果似乎只是一系列的随机序列,x n-n图是一些杂乱无章的点。
综上所述,系统的演化结果与稳定性都和λ紧密相关。通过第三段程序,可以画出x n-λ图像,如图3-13所示。

本文发布于:2024-09-22 15:30:48,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/55318.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:迭代   结果   虫口   系统   意义   方程   初值   研究
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议