119项目四无穷级数与微分方程实验1无穷级数(基础实验)实验目的观察无穷级数部分和的变化趋势,进一步理解级数的审敛法以及幂级数部分和对函数的逼近.掌握用Mathematica求无穷级数的和,求幂级数的收敛域,展开函数为幂级数以及展开周期函数为傅里叶级数的方法.数项级数例1.1(教材例1.1)(1)观察级数121nn的部分和序列的变化趋势.(2)观察级数11nn的部分和序列的变化趋势.输入s[n_]=Sum[1/k^2,{k,n}];data=Table[s[n],{n,100}];ListPlot[data];N[Sum[1/k^2,{k,Infinity}]]N[Sum[1/k^2,{k,Infinity}],40]则输出(1)中级数部分和的变化趋势图1.3.204060801001.541.561.581.62图1.3级数的近似值为1.64493.输入s[n_]=Sum[1/k,{k,n}];data=Table[s[n],{n,50}];ListPlot[data,PlotStyle-PointSize[0.02]];则输出(2)中级数部分和的的变化趋势图1.4.12010203040501.522.533.544.5图1.4例1.2(教材例1.2)画出级数111)1(nnn的部分和分布图.输入命令Clear[sn,g];sn=0;n=1;g={};m=3;While[1/n10^-m,sn=sn+(-1)^(n-1)/n;g=Append[g,Graphics[{RGBColor[Abs[Sin[n]],0,1/n],Line[{{sn,0},{sn,1}}]}]];n++];Show[g,PlotRange-{-0.2,1.3},Axes-True];则输出所给级数部分和的图形(图1.5),从图中可观察到它收敛于0.693附近的一个数.0.6880.6920.6940.6960.698-0.20.20.40.60.811.2图1.5例1.3求123841nnn的值.输入Sum[x^(3k),{k,1,Infinity}]得到和函数33x1x例1.4(教材例1.3)设,!10nann求1nna.输入Clear[a];a[n_]=10^n/(n!);121vals=Table[a[n],{n,1,25}];ListPlot[vals,PlotStyle-PointSize[0.012]]则输出na的散点图(1.6),从图中可观察na的变化趋势.输入Sum[a[n],{n,l,Infinity}]则输出所求级数的和.5101520255001000150020002500图1.6求幂级数的收敛域例1.5(教材例1.4)求021)3(4nnnnx的收敛域与和函数.输入Clear[a];a[n_]=4^(2n)*(x-3)^n/(n+1);stepone=a[n+1]/a[n]//Simplify则输出n2)x3)(n1(16再输入steptwo=Limit[stepone,n-Infinity]则输出)x3(16这里对a[n+1]和a[n]都没有加绝对值.因此上式的绝对值小于1时,幂级数收敛;大于1时发散.为了求出收敛区间的端点,输入ydd=Solve[steptwo==1,x]zdd=Solve[steptwo==-1,x]则输出1647x1649x与由此可知,当16491647x时,级数收敛,当1647x或1649x时,级数发散.为了判断端点的敛散性,输入Simplify[a[n]/.x-(49/16)]则输出右端点处幂级数的一般项为1221n1因此,在端点1649x处,级数发散.再输入Simplify[a[n]/.x-(47/16)]则输出左端点处幂级数的一般项为1n)1(n因此,在端点1647x处,级数收敛.也可以在收敛域内求得这个级数的和函数.输入Sum[4^(2n)*(x-3)^n/(n+1),{n,0,Infinity}]则输出)x3(16)]x3(161[Log函数的幂级数展开例1.6(教材例1.5)求xcos的6阶麦克劳林展开式.输入Series[Cos[x],{x,0,6}]则输出7642]x[o720x24x2x1注:这是带皮亚诺余项的麦克劳林展开式.例1.6(教材例1.6)求xln在1x处的6阶泰勒展开式.输入Series[Log[x],{x,1,6}]则输出.]x[o6)1x(5)1x(4)1x(3)1x(2)1x()1x(765432例1.7(教材例1.7)求xarctan的5阶泰勒展开式.输入serl=Series[ArcTan[x],{x,0,5}];Poly=Normal[serl]则输出xarctan的近似多项式5x3xx53通过作图把xarctan和它的近似多项式进行比较.输入Plot[Evaluate[{ArcTan[x],Poly}],{x,-3/2,3/2},PlotStyle-{Dashing[{0.01}],GrayLevel[0]},AspectRatio-l]则输出所作图形(图1.7),图中虚线为函数xarctan,实线为它的近似多项式.123-1.5-1-0.50.511.5-1.5-1-0.50.511.5图1.7例1.9求2211xxe在1x处的8阶泰勒展开,并通过作图比较函数和它的近似多项式.输入Clear[f];f[x_]=Exp[-(x-1)^2*(x+1)^2];poly2=Normal[Series[f[x],{x,1,8}]]Plot[Evaluate[{f[x],poly2}],{x,-1.75,1.75},PlotRange-{-2,3/2},PlotStyle-{Dashing[{0.01}],GrayLevel[0]}]则得到近似多项式和它们的图1.8.54321161714141xxxx87616173128134xxx-1.5-1-0.50.511.5-2-1.5-1-0.50.511.5图1.8124例1.10求函数xsin在0x处的91,,7,5,3阶泰勒展开,通过作图比较函数和它的近似多项式,并形成动画进一步观察.因为)(!121sin22120nknkkxokxx所以输入Do[Plot[{Sum[(-1)^j*x^(2j+1)/(2j+1)!,{j,0,k}],Sin[x]},{x,-40,40},PlotStyle-{RGBColor[1,0,0],RGBColor[0,0,1]}],{k,1,45}]则输出为xsin的3阶和91阶泰勒展开的图形.选中其中一幅图形,双击后形成动画.图1.9是最后一幅图.-40-202040-4-224图1.9例1.11利用幂级数展开式计算5240(精确到1010).因为.3113324324051455根据mx)1(在0x处的展开式有123824531!3594131!2541315113240故前)2(nn项部分和为12411431!515315113nkkkkinkiS输入命令s[n_]=3(1-1/(5*3^4)-Sum[Product[5i-1,{i,1,k-1}]/(5^kk!3^(4k)),{k,2,n-1}]);r[n_]=Product[5i-1,{i,1,n-1}]/5^n/n!3^(4n-5)/80;125delta=10^(-10);n0=100;Do[Print[n=,n,,,s[n]=,N[s[n],20]];If[r[n]delta,Break[]];If[n==n0,Print[failed]],{n,n0}]则输出结果为.992555739.22405傅里叶级数例1.12(教材例1.8)设)(xg是以2为周期的周期函数,它在,的表达式是xxxg0,10,1)(将)(xg展开成傅里叶级数.输入Clear[g];g[x_]:=-1/;-Pi=x0g[x_]:=1/;0=xPig[x_]:=g[x-2Pi]/;Pi=xPlot[g[x],{x,-Pi,5Pi},PlotStyle-{RGBColor[0,1,0]}];则输出)(xg的图形(图1.10).-2.52.557.51012.515-1-0.50.51图1.10因为)(xg是奇函数,所以它的傅里叶展开式中只含正弦项.输入b2[n_]:=b2[n]=2Integrate[1*Sin[n*x],{x,0,Pi}]/Pi;fourier2[n_,x_]:=Sum[b2[k]*Sin[k*x],{k,1,n}];tu[n_]:=Plot[{g[x],Evaluate[fourier2[n,x]]},{x,-Pi,5Pi},PlotStyle-{RGBColor[0,1,0],RGBColor[1,0.3,0.5]},DisplayFunction-Identity];(*tu[n]是以n为参数的作图命令*)tu2=Table[tu[n],{n,1,30,5}];(*tu2是用Table命令作出的6个图形的集合*)toshow=Partition[tu2,2];(*Partition是对集合tu2作分割,2为分割的参数*)Show[GraphicsArray[toshow]](*GraphicsArray是把图形排列的命令*)则输出6个排列着的图形(图1.11),每两个图形排成一行.可以看到n越大,)(xg的傅里叶级数的前n项和与)(xg越接近.126-2.52.557.51012.515-1-0.50.51-2.52.557.51012.515-1-0.50.51-2.52.557.51012.515-1-0.50.51-2.52.557.51012.515-1-0.50.51-2.52.557.51012.515-1-0.50.51-2.52.557.51012.515-1-0.50.51图1.11实验2微分方程(基础实验)实验目的理解常微分方程解的概念以及积分曲线和方向场的概念,掌握利用Mathematica求微分方程及方程组解的常用命令和方法.用Dsolve命令求解微分方程例2.1(教材例2.1)求微分方程22xxexyy的通解.输入Clear[x,y];DSolve[y'[x]+2x*y[x]==x*Exp[-x^2],y[x],x]或DSolve[D[y[x],x]+2x*y[x]==x*Exp[-x^2],y[x],x]则输出微分方程的通解:]1[Cexe21]x[y22x2x其中C[1]是任意常数.例2.2(教材例2.2)求微分方程0xeyyx在初始条件eyx21下的特解.输入Clear[x,y];DSolve[{x*y'[x]+y[x]-Exp[x]==0,y[1]==2E},y[x],x]则输出所求特解:127xee]x[yx例2.3(教材例2.3)求微分方程xeyyyx2cos52的通解.输入DSolve[y''[x]-2y'[x]+5y[x]==Exp[x]*Cos[2x],y[x],x]//Simplify则输出所求通解:])x2[Sin])1[c4x(2]x2[Cos])2[c81((e81]x[yx例2.4(教材例2.4)求解微分方程xexy2,并作出其积分曲线.输入g1=Table[Plot[E^x+x^3/3+c1+x*c2,{x,-5