资源描述:
《常微分方程问题》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Mathematica论文-—常微分方程问题【摘要】在本篇论文中,运用常微分方程知识建立了捕食模型,用Mathematica软件中的求解常微分方程命令进行求解,并给出常微分方程的轨迹,计算了特定点的函数值。同时,还运用Euler方法和Runge-Kutta方法求函数值,将两种方法进行比对,较为详细的研究了捕食模型。【关键词】解常微分方程,Euler方法,Runge-Kutta方法一、问题的提出在自然界中,广泛存在着不同物种间的捕食关系,研究具有捕食关系的物种之间数量关系对物种的保护有重要意义。以兔子和狼为例,
2、进行捕食关系的分析。二、模型的建立设在一个封闭的大草原生长着狼和野兔,t时刻它们的数量分别为y(t)和x(t),根据常微分方程中所学知识,它们满足捕食模型的微分方程,如下:=O.OOlxy-0.9y=4x-0.02xy三、模型的求解3、1使用Mzthematica中的解常微分方程命令,直接进行求解并给出函数图像命令如下及结果:q=NDSolve[{y'[t]==O.OOlx[t]*y[t]-0・9y[t],xf[t]==4x[t]■0.02x[t]*y[t],x[0]==92,y[0]==180},{x,y}
3、,{t,0,20}]^kJiWnterpolatingFunctionInterpolatingFunctionf=x/.q[[l]l;g=y/.q[[l]];ParametricPlot[{f[t],g[t]},{t,0,20}]200150100500100015002000••Graphics••gl=Plot[f[t],{t,0,20}]300020001000101520••Graphics••g2=Plot[g[t],{t,O,20}]••Graphics••计算t=20时,兔子的数量即f[20]
4、,狼的数量即g[20]命令及结果如下:f=x/.q[[l]];g=y/.q[[l]];f[20]406.77g[20]87.9783、2用Euler方法计算t=20时兔子及狼的数量命令如下:Clear[x,y,f]f[x_,yj=Input「f(x,y)i]yO=Inputf'yO=”]a=Input[na=n]b二Input[nb=n]h=Input[nh=H]n=(b-a)/h;For[i=0,ivn,i++,xk=a+i*h;yl二yO+h*f[xk,yO];yl=yO+h/2*(f[xk,yO]+f[
5、xk+h,yl]);Printry(”,xk+h//N,yl//N];yO=yl]运行该命令需要输入数据,其中f(x,y)是指具体操作步骤如下图:得到最终结果,即在f(t)=406.77时,狼的数量为:y-B0618-lgj79765从结果我们可以看岀,使用Euler方法得到的近似解与解常微分方程命令得到的近似解十分接近。3、3用Runge-Kutta方法再求f(t)=406.77时,g(t)数值解命令如下:Clear[x,y,f]f[x_,yj=Input[nf(x,y)=!,]yO=Input[nyOa=
6、Input[Ha=n]b=Input[nb=n]h=Input[nh=n]n=(b・a)/h;For[i=0,i7、果相等。四.模型变化当人类对捕食双方的其中一方进行捕杀时,假设不杀速度为2,进一步探讨兔子和狼的数量关系。类似上面的做法,改变后的模型求解命令及结果如下:q=NDSolvetfylt]==0.001x[t]*y[t]-0・9y[t],xf[t]==4x[t]-0.02x[t]*y[t]■2x[t],x[0]==92,y[0]==180},{x,y},{t,0,20}]r^P^^rterpolatir^lrctknf[20]395.185g[20]22.5042gl=Plot[f[t],{t,0,20}]••G
8、raphics••••Graphics••Show[gl,g2,DisplayFunction->$DisplayFunction]••Graphics••五、结论从人为干预前后的捕食模型变化中我们看到,捕杀其中一方,会导致不是双方的数量同时下降,不利于物种的平衡持续发展。自然平衡在没有受到人们的严重干预时,能够进行自我调节。六、心得体会微分方程是我们在解决实际问题中经常遇到的数学模型,运用Math