欢迎来到天天文库
浏览记录
ID:34629263
大小:114.51 KB
页数:4页
时间:2019-03-08
《maple软件在常微分方程中的应用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2003年12月韶关学院学报(自然科学版)Dec.20o3第24卷第12期JoumalofShaoguanUniversity(NaturalScienceV01.24No.12Maple软件在常微分方程中的应用曾曰广钊lJ(韶关学院数学系,广东韶关512005)摘要:Maple代数系统软件在符号计算以及微积分领域中功能非常强大,结合实际的教学与科研经验总结了几个常微分方程中应用Maple软件的例子.关键词:Maple代数系统;分支图:脉冲微分方程中图分类号:TP311.56文献标识码:A文章编号:1007—5348(2003)12—0019—04常用的
2、数学软件有很多,诸如Madab,Mathematics,Bias,Lapack,Maple等等.他们都有各自的应用领域,而Maple软件在符号计算方面尤其突出,在数值计算等其他方面功能也很强大,文献[1]中较为详细地介绍了此软件的用法.Maple软件在常微分方程的定性和稳定性理论中也有着广泛的应用[2].本人结合教学与科研中的经验给出这个代数系统软件在常微分方程中的两个应用.1绘制差分或微分方程分支图在动力系统复杂性分析中,为了研究系统对参数的敏感性,常常用画分支图的手段来形象地描述参数的变化对系统的影响.对给定系统的分支图的看法,在文[3]中已给出.其
3、给出的算法可在C或Pascal等高级编程语言中实现,但是在这些面向过程的语言中来编写绘制分支图的程序就显得较为繁琐.考虑到Maple编程语言是一种面向问题的效率较高的程序语言,所以在Maple中实现这个算法,可以提高效率.对于不同的系统,差分的或是微分的方程,算法各不一样.本文就Logistic增长差分模型(t+1)=(t)(1一(t))编写了相应的分支图的绘制程序,对于其他系统,也可以类似的编写相应的程序.具体程序如下:f:=X一>uX(1一X):舟定义差分方程utimes:40O:unlax:=4:umin:=2.8:nmaxl:=50:nmax2:
4、300:—ustep:=(unlax—umin)/(u—times一1):pa:=array(1..u—times*nmax2,1..2):pic:=[]:forkfrom1tou—timesdo#对系数u的u—times种情况分别迭代u::umin+(k一1)*ustep:X::0.5:forifrom1tonmaxldo#这nmax1次循环排除不收敛的点X:=f(X):收稿日期:2003—06—12作者简介:曾广钊(1971一),男,湖南湘乡人,韶关学院数学系讲师,博士研究生,主要从事生物数学研究·20·韶关学院学报(自然科学版)2003正od:fo
5、rifrom1tonmax2do#这nmax2次循环迭代出要描绘的点pa[i+(k一1)nmax2,1]:=u:pa[i+(k一1)nmax2,2]:=x:X:=f(x):#pic:=[op(pic),[u,x]]:od:od:pic:=[seq([pa[i,1],pa[i,2]],I=1.一一timesnmax2)]:#plot(pic,style=POINT,symbol=POINT,labels=[“u”,“x(t)”]);with(plots):pointplot(pie,symbol=POINT,labels=[“u”,“x(t)”],colo
6、r=blue);此程序的基本算法就是反复迭代,绘制的分支图如图1,我们可以看到此系统随着u的增大出现倍周期分岔,最后通向混沌,也说明了系统对参数u的敏感性.图1Logistic模型分支图2脉冲微分方程的解轨线图在常微分方程教学和研究中,经常要了解方程的向量场和轨线图,在有些数值模拟中还要精确绘制系统的解轨线.Maple软件包中已经自带了绘制连续系统解轨线的函数,但是在一类新近出现的非连续系统脉冲微分方程中,其解轨线就不能直接利用Maple内部函数.而脉冲方程又较以前的连续系统更为复杂,常常要通过数值模拟来估计它的解轨线的位r克=(a一).置.基于这一点考
7、虑,本文针对脉冲方程:{【:,,(一d)<~,用Maple程序语言编制△:o.8:1.6了一个用于绘制的其给定初值的解轨线的程序,其中系数选定为a:=3,b:=5,c:=6,d:=7;具体程序如下:f:=proc()第12期曾广钊:Maple软件在常微分方程中的应用th(DEtools):initt:=0:—tstep:=0.02:—initX:=0.6:—inity:=0.1:—maxstep:=600:—#下面语句定义方程LVODE:=D()(t)=(t)*(0一b*Y(t)),D(Y)(t)=Y(t)*(c*(t)一d):0:=3:b:=5:c:=
8、6:d:7:#给定初值的数值解算法函数调用S:=dsolve({LVODE,X(
此文档下载收益归作者所有