资源描述:
《确定Lotka_Volterra生态系统模型高精度参数的研究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、第37卷第14期数学的实践与认识Vol137No1142007年7月MATHEMATICSINPRACTICEANDTHEORYJuly,2007确定Lotka-Volterra生态系统模型高精度参数的研究唐静波, 胡智渊, 张彦琼指导教师:任力锋(中南大学生物医学工程研究院,湖南长沙 410078)摘要:研究确定Lotka2Volterra生态系统模型的高精度参数估计问题.利用周期性,先对测量数据进行预处理;然后用三种不同的方法构造了误差函数,进行非线性最小二乘法参数估计;再用计算机仿真对其进行验证.结果表明该方法能够有效地解决高精度参数估计
2、中消除测量数据误差的问题.关键词:非线性最小二乘法;参数估计;周期性;平均值法1 问题提出 在“神舟六号”载人航天宇宙飞船、人造地球卫星等航天器围绕地球在轨运行的过程中,必须建立高精度的数学模型和高精度地估计模型中的大批参数.因为只有这样的数学模型才能解决实际问题,而不会出现差之毫厘,结果却失之千里的情况.为此人们要设法利用长期积累的丰富的观测资料,高精度确定这些重要的参数.由于航天器的问题太复杂,下面仅考虑较简单的确定高精度参数问题.假设有一个生态系统,其中含有两种生物,即:A生物和B生物,其中A生物是捕食者,B生物是被捕食者.假设t时刻捕
3、食者A的数目为x(t),被捕食者B数目为y(t),它们之间满足以下变化规律:x′(t)=x(t)[a1+a2y(t)]x(t0)=a5 初始条件为:(1)y′(t)=y(t)[a3+a4x(t)]y(t0)=a6其中ak(1FkF6)为模型的待定参数.[1—2]该模型为著名的Lotka2Volterra方程.通过对此生态系统的观测,可以得到相关的[3]观测数据.为了说明问题,本文仅以DATA1.TXT,DATA4.TXT为例.问题1.1 在观测数据无误差的情况下,至少需要多少组观测数据,才能确定参数ak(1FkF6)?有关数据见数据文件:DA
4、TA1.TXT问题1.2 在观测数据x、y、t均有误差的情况下,试建立数学模型,确定参数ak(1FkF6)在某种意义下的最优解,并与仿真结果比较.有关数据见数据文件:DATA4.TXT2 模型求解Lotka2Volterra模型的假设:1)假设是一个包括捕食与被捕食两个种群的生态系统,捕食者靠被捕食者而生存,系统与外界没有种群交换关系.2)假设种群自身的增殖变化速率与t时刻种群的数量成比率(马尔萨斯定律).收稿日期:200720320178数 学 的 实 践 与 认 识37卷2.1 方程通解法对于问题1.1,可由Lotka2Volterra方程
5、求得方程的通解,然后利用其通解,构建误差函数E1,由于参数ak越精确,E1的值越接近0.由此可以转化为对函数MinE1的非线性最小值无约束优化模型.对于此非线性最小值无约束优化模型的求解,我们采用非线性最小二乘法[4—5]对参数a1~a4和参数C进行估计.另外根据测量资料DATA1.TXT得知x(t0)=a5=10,y(t0)=a6=60.Lotka2Volterra方程通解:a1lny-a3lnx+a2y-a4x=C(2) 误差函数:2E1=(a1lny-a3lnx+a2y-a4x-C)(3)N2MinE1=∑[a1lnyi(t)-a3ln
6、xi(t)+a2yi(t)-a4xi(t)-C](4)i=0MATLAB实现过程:1)用Lotka2Volterra方程通解,构建误差函数E1(3),MinE1(4).2)用非线性最小二乘法对参数a1~a4和参数C进行估计(Matlabfminsearch函数).3)用估计得到的参数对Lotka2Volterra方程进行求解(Matlabode45函数).4)将仿真结果与原始数据进行比较.仿真结果与原始数据非常吻合,见图1.图中横坐标表示捕食者x(t),纵坐标表示被捕食者y(t);原始数据用红色‘3’表示,仿真数据用蓝色实线表示.我们做了一个统
7、计,分别使用5组、4组、3组数据进行参数估计的结果见表1.结果表示:至少需要4组观测数据可以确定参数,但计算结果不够精确,建议至少使用5组数据.图1DATA1.TXT数据与仿真数据图2DATA4.TXT数据与仿真数据对比图(通解法)对比图(通解法)对于问题1.2,由于测量资料DATA4.TXT的x(t),y(t)和时间变量t均有误差,故需要对这些数据进行预处理.我们首先对原始数据进行插值:ti=0:0.01:15,求出ti时刻对应的x(t),y(t),以消除时间变量t的误差.然后利用周期解定理(见2.2的定理1),对插值后的数据按周期T进行分段
8、,共9段(每段长162个数据点,共1458个数据点).将1至9段中对应时间点的x(t),qqy(t)加起来,求其平均值xi(t)、yi(t),i=1,