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

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

数学实验八用Matlab软件求级数的和、函数的泰勒级数和傅氏级数一、求级数的和在Matlab中,可用symsum函数求数列或级数的和,其调用格式为:symsnsymsum(f(n),na,b)其中,)(nf为数列或级数的通项,n为自变量,a为该数列或级数所求和的起始项数,b为该数列或级数所求和的结束项数.此格式表示求级数∑+∞=0)(kkf关于变量n从第0项到第1−n项的和.当省略n、a、b时,求关于默认变量k的级数∑+∞=0)(kkf从第0项到第1−k项的和;当省略a、b时,求级数∑+∞=0)(kkf从第0项到第1−n项的和.例1分别求级数∑+∞=03kk的前k项和及从第5项到第10项的和.解在命令行中输入:symskSk=simple(symsum(k^3));%利用simple函数化简Sk的表达式S5_10=symsum(k^3,5,10);Sk,S5_10计算结果如下:Sk=1/4*k^2*(k-1)^2S5_10=2925即4)1(22103−==∑−=kkkSkkk,292510_5=S.例2求级数∑+∞=0!1nn的和.解在命令行中输入:symsnS=symsum(1/sym( n! ),n,0,inf)%sym(‘n!’)是将n!定义为符号表达式计算结果如下:S=exp(1)即enn=∑+∞=0!1.例3求幂级数∑+∞=−+−−1121)!12()1(nnnnx的和.解在命令行中输入:symsnxS=symsum((-1)^(n+1)*x^(2*n-1)/sym( (2*n-1)! ),n,1,inf)输出结果如下:S=sin(x)即xnxnnnsin)!12()1(1121=−−∑+∞=−+.二、求函数的幂级数展式在Matlab中,可调用taylor函数求函数的任意阶幂级数展式,其调用格式为:symsntaylor(f(x),x,n,a)它表示求函数)(xf在ax=处的(n-1)阶Taylor级数.缺省a时是求函数)(xf的(n-1)阶Maclaurin级数;缺省n、a时是求函数)(xf的5阶Maclaurin级数,即在0=x处的Taylor级数.例4求xxftan)(=的5阶Maclaurin级数.解在命令行中输入:symsxf_x=taylor(tan(x))计算结果如下:f_x=x+1/3*x^3+2/15*x^5即1523tan)(53xxxxxf++≈=.例5求)1ln()(xxf+=的10阶Maclaurin级数.解在命令行中输入:symsxf_x=taylor(log(1+x),11)计算结果如下:f_x=x-1/2*x^2+1/3*x^3-1/4*x^4+1/5*x^5-1/6*x^6+1/7*x^7-1/8*x^8+1/9*x^9-1/10*x^10即10)1(32)1ln(10132xnxxxxxnn−+−+−+−≈+−ΛΛ.例6求xxf+=11)(在1=x处的7阶Taylor级数.解在命令行中输入:symsxf_x=taylor(1/(1+x),8,1)计算结果如下:f_x=3/4-1/4*x+1/8*(x-1)^2-1/16*(x-1)^3+1/32*(x-1)^4-1/64*(x-1)^5+1/128*(x-1)^6-1/256*(x-1)^7即87766554433222)1(2)1(2)1(2)1(2)1(2)1(212111)(−−−+−−−+−−−+−−≈+=xxxxxxxxxf.三、求函数的傅氏级数展式在Matlab中,没有专门求傅氏级数的函数调用,但我们可编写一个函数来求)(xf在],[ll−上的Fourier级数.打开Matlab的M文件编辑窗口,输入如下命令行:function[A,B,F]=fseries(f,x,n,a,b)ifnargin==3,a=-pi;b=pi;endL=(b-a)/2;ifa+b~=0,f=subs(f,x,x+L+a);end%若a+b≠0,则执行后面语句;否则执行下面语句A=int(f,x,-L,L)/L;B=[];F=A/2;fori=1:nan=int(f*cos(i*pi*x/L),x,-L,L)/L;bn=int(f*sin(i*pi*x/L),x,-L,L)/L;A=[A,an];B=[B,bn];F=F+an*cos(i*pi*x/L)+bn*sin(i*pi*x/L);endifa+b~=0,F=subs(F,x,x-L-a);end输入完毕后,单击“保存”按钮,自动以名为fseries保存,可关闭M文件编辑窗口.该函数的调用格式如下:symsxf=f(x)[A,B,F]=fserier(f,x,n,a,b)说明:其中,f为给定函数,x为自变量,n为展开项数,a,b为x的积分区间,若省略a,b,则默认为求f(x)在],[pp−上傅氏级数展开式,A、B为傅立叶系数,F为傅氏级数展开式.例7设xxf=)(,),[pp−∈x,将该函数展开成傅立叶级数,n取10.解在命令行中输入:clearsymsxf=x;[A,B,F]=fseries(f,x,10);F计算结果如下:F=2*sin(x)-sin(2*x)+2/3*sin(3*x)-1/2*sin(4*x)+2/5*sin(5*x)-1/3*sin(6*x)+2/7*sin(7*x)-1/4*sin(8*x)+2/9*sin(9*x)-1/5*sin(10*x)即xkxkxxxxxxfk10sin51sin2)1(4sin213sin322sinsin2)(1−−++−+−≈=+Λ.例8设

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值