资源描述:
《数学物理问题的-Mathematica-求解》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、第七章数学物理问题的Mathematica求解§7.1偏微分方程的解析解1.一阶偏微分方程的通解Mathematica中的DSolve命令也可以用来求偏微分方程的通解,使用格式为DSolve[偏微分方程,未知函数,{自变量}]。例如,求一阶偏微分方程uu+=0的通解,命令语句为xyDSolve[D[u[x,y],x]+D[u[x,y],y]m0,u[x,y],{x,y}]输出结果为{{u[x,y]→C[1][-x+y]}}注意其中的C[1]是一个任意函数,而不是常微分方程通解中的任意常数。上面的结果可以写成我们更习惯的方式uxyCyx(,)=−()1上例中的一阶偏微分方程是线性齐次的,现在我
2、们再看一个线性非齐次的偏微分方程uu+=1/()xy,求解的命令语句为xyDSolve[D[u[x,y],x]+D[u[x,y],y]m1/(xy),u[x,y],{x,y}]输出结果为−Log@xD+Log@yD+xC@1D@−x+yD−yC@1D@−x+yD::u@x,yD→>>x−y上面的结果可以写成−++⋅−−⋅−lnlxnyxCyxyCyx()()lnx−lny11uxy(,)==Cyx(−)−1x−−yxy结果中的第一项为对应齐次方程的通解,第二项为非齐次方程的特解。2下面再看一个非线性的一阶偏微分方程uuu+=,求解的命令语句为xyDSolve[D[u[x,y],x]+D[u[
3、x,y],y]mu[x,y]^2,u[x,y],{x,y}]输出结果为1::u@x,yD→>>−x−C@1D@−x+yD上面的结果可以写成1uxy(,)=−−xCyx()−1722.二阶偏微分方程的通解2现在,我们来看二阶偏微分方程的求解。例如求波动微分方程ua=u的通解,命令语ttxx句为DSolve[D[u[t,x],t,t]ma^2D[u[t,x],x,x],u[t,x],{t,x}]输出结果为::u@t,xD→C@1DB−"#####a2t+xF+C@2DB"#####a2t+xF>>注意现在通解中有C[1]和C[2]二个任意函数,由于Mathematica不知道参数a的性质,因而未
4、2对a进行化简。设a>0,写成习惯的形式为uxtCxatCxat(,)()()=−++12按照方程的要求,这两个任意函数都应该存在二阶偏导数。我们也可以用DSolve来求拉普拉斯方程uu+=0的通解,命令语句为xxyyDSolve[D[u[x,y],x,x]+D[u[x,y],y,y]m0,u[x,y],{x,y}]输出结果为{{u[x,y]→C[1][Çx+y]+C[2][-Çx+y]}}注意现在通解中的二个任意函数C[1]和C[2]都应该是解析函数。不是所有的偏微分方程都可以用DSolve来求出通解的,例如,我们所熟悉的热传导方程2()xs−1∞−uau=2虽然存在形式上的通解uxt(,
5、)=ϕ()se4atds,但是用DSolve命令txx∫2atπ−∞DSolve[D[u[t,x],t]ma^2D[u[t,x],x,x],u[t,x],{t,x}]得到的结果为H1,0L2H0,2LDSolve@u@t,xDmau@t,xD,u@t,xD,8t,x6、,tD+u@x,tDmx,u@x,tD,8x,t7、,==
8、2ett==00t其特解可以用达朗贝尔公式得到,结果为2−−()xtuxte(,)=然而用DSolve命令DSolve[{D[u[t,x],t,t]mD[u[t,x],x,x],u[0,x]mExp[-x^2],Derivative[1,0][u][0,x]m2xExp[-x^2]},u[t,x],{t,x}]得到的结果为H2,0LH0,2L−x2H1,0L−x2DSol
9、veB:u@t,xDmu@t,xD,u@0,xDmÆ,u@0,xDm2Æx>,u@t,xD,8t,x10、2=y=0用DSolve命令DSolve[{D[u[x,y],x]+D[u[x,y],y]m0,u[x,0]m2x^2},u[x,y],{x,y}]得到的结果为H0,1LH1,0L2DSolve@8u@