数学实验8 用matlab软件求级数的和函数的泰勒级数和傅氏级数.pdf

数学实验八用Matlab软件求级数的和、函数的泰勒级数和傅氏级数一、求级数的和在Matlab中,可用symsum函数求数列或级数的和,其调用格式为symsnsymsumfn,na,b其中,nf为数列或级数的通项,n为自变量,a为该数列或级数所求和的起始项数,b为该数列或级数所求和的结束项数.此格式表示求级数∑∞0kkf关于变量n从第0项到第1−n项的和.当省略n、a、b时,求关于默认变量k的级数∑∞0kkf从第0项到第1−k项的和;当省略a、b时,求级数∑∞0kkf从第0项到第1−n项的和.例1分别求级数∑∞03kk的前k项和及从第5项到第10项的和.解在命令行中输入symskSksimplesymsumk3;利用simple函数化简Sk的表达式S5_10symsumk3,5,10;Sk,S5_10计算结果如下Sk1/4*k2*k-12S5_102925即4122103−∑−kkkSkkk,292510_5S.例2求级数∑∞01nn的和.解在命令行中输入symsnSsymsum1/symn,n,0,infsym‘n’是将n定义为符号表达式计算结果如下Sexp1即enn∑∞01.例3求幂级数∑∞−−−1121121nnnnx的和.解在命令行中输入symsnxSsymsum-1n1*x2*n-1/sym2*n-1,n,1,inf输出结果如下Ssinx即xnxnnnsin1211121−−∑∞−.二、求函数的幂级数展式在Matlab中,可调用taylor函数求函数的任意阶幂级数展式,其调用格式为symsntaylorfx,x,n,a它表示求函数xf在ax处的(n-1)阶Taylor级数.缺省a时是求函数xf的(n-1)阶Maclaurin级数;缺省n、a时是求函数xf的5阶Maclaurin级数,即在0x处的Taylor级数.例4求xxftan的5阶Maclaurin级数.解在命令行中输入symsxf_xtaylortanx计算结果如下f_xx1/3*x32/15*x5即1523tan53xxxxxf≈.例5求1lnxxf的10阶Maclaurin级数.解在命令行中输入symsxf_xtaylorlog1x,11计算结果如下f_xx-1/2*x21/3*x3-1/4*x41/5*x5-1/6*x61/7*x7-1/8*x81/9*x9-1/10*x10即101321ln10132xnxxxxxnn−−−−≈−ΛΛ.例6求xxf11在1x处的7阶Taylor级数.解在命令行中输入symsxf_xtaylor1/1x,8,1计算结果如下f_x3/4-1/4*x1/8*x-12-1/16*x-131/32*x-14-1/64*x-151/128*x-16-1/256*x-17即8776655443322212121212121212111−−−−−−−−−−−≈xxxxxxxxxf.三、求函数的傅氏级数展式在Matlab中,没有专门求傅氏级数的函数调用,但我们可编写一个函数来求xf在],[ll−上的Fourier级数.打开Matlab的M文件编辑窗口,输入如下命令行function[A,B,F]fseriesf,x,n,a,bifnargin3,a-pi;bpi;endLb-a/2;ifab0,fsubsf,x,xLa;end若ab≠0,则执行后面语句;否则执行下面语句Aintf,x,-L,L/L;B[];FA/2;fori1nanintf*cosi*pi*x/L,x,-L,L/L;bnintf*sini*pi*x/L,x,-L,L/L;A[A,an];B[B,bn];FFan*cosi*pi*x/Lbn*sini*pi*x/L;endifab0,FsubsF,x,x-L-a;end输入完毕后,单击“保存”按钮,自动以名为fseries保存,可关闭M文件编辑窗口.该函数的调用格式如下symsxffx[A,B,F]fserierf,x,n,a,b说明其中,f为给定函数,x为自变量,n为展开项数,a,b为x的积分区间,若省略a,b,则默认为求fx在],[pp−上傅氏级数展开式,A、B为傅立叶系数,F为傅氏级数展开式.例7设xxf,,[pp−∈x,将该函数展开成傅立叶级数,n取10.解在命令行中输入clearsymsxfx;[A,B,F]fseriesf,x,10;F计算结果如下F2*sinx-sin2*x2/3*sin3*x-1/2*sin4*x2/5*sin5*x-1/3*sin6*x2/7*sin7*x-1/4*sin8*x2/9*sin9*x-1/5*sin10*x即xkxkxxxxxxfk10sin51sin214sin213sin322sinsin21−−−−≈Λ.例8设≤≤−ppxxxf0,10,0,将该函数展开成傅立叶级数,n取12.解将≤≤−ppxxxf0,10,0化为||121xxxf,然后在命令行中输入symsxf1x/absx/2;[A,B,F]fseriesf,x,14;F计算结果如下F1/22/pi*sinx2/3/pi*sin3*x2/5/pi*sin5*x2/7/pi*sin7*x2/9/pi*sin9*x2/11/pi*sin11*x2/13/pi*sin13*x即5sin513sin31sin221Λxxxxfp.例9设≤≤−10,101,xxxxxf,将该函数展开成傅立叶级数,n取8.解将≤≤−10,101,xxxxxf化为||21xxxxxf,然后在命令行中输入symsxfxxabsx/x/2;[A,B,F]fseriesf,x,8,-1,1;F求得结果如下F1/24/pi*sinpi*x-1/pi*sin2*pi*x4/3/pi*sin3*pi*x-1/2/pi*sin4*pi*x4/5/pi*sin5*pi*x-1/3/pi*sin6*pi*x4/7/pi*sin7*pi*x-1/4/pi*sin8*pi*x即sin1312sinsin41211ΛΛ−−nxnxxxfnppp.当然,对于较复杂