220 likes | 371 Views
实验十四 MATLAB 在级数中的应用. 一、实验目的. 掌握利用 MATLAB 进行级数运算的方法和技能。. 二、相关知识. 在高等数学中,级数一般分为三个部分来叙述,即常数项级数的求和和审敛法则、幂级数的审敛和将函数展开为幂级数、傅立叶级数的性质和将函数展开为傅立叶级数。本实验讨论前两个内容。. 二、相关知识. (一)常数项级数的求和与审敛 在讨论常数项级数时,我们认为,如果级数 的部分和 的极限存在,则称该级数收敛,并称此极限为级数的和。在 MATLAB 中,用于级数求和的命令是 symsum() , 该命令的应用格式为:
E N D
一、实验目的 • 掌握利用MATLAB进行级数运算的方法和技能。
二、相关知识 • 在高等数学中,级数一般分为三个部分来叙述,即常数项级数的求和和审敛法则、幂级数的审敛和将函数展开为幂级数、傅立叶级数的性质和将函数展开为傅立叶级数。本实验讨论前两个内容。
二、相关知识 • (一)常数项级数的求和与审敛 • 在讨论常数项级数时,我们认为,如果级数 • 的部分和 的极限存在,则称该级数收敛,并称此极限为级数的和。在MATLAB中,用于级数求和的命令是symsum(),该命令的应用格式为: • symsum(comiterm,v,a,b) • 其中:comiterm为级数的通项表达式,v是通项中的求和变量,a和b分别为求和变量的起点和终点。如果a,b缺省,则v从0变到v-1,如果v也缺省,则系统对comiterm中的默认变量求和。
二、相关知识 • 例1:求级数 , 的和。 • 解:利用MATLAB函数symsum设计如下程序: • clear • syms n • 的命令是symsum(),该命令的应用格式为: • symsum(comiterm,v,a,b) • 其中:comiterm为级数的通项表达式,v是通项中的求和变量,a和b分别为求和变量的起点和终点。如果a,b缺省,则v从0变到v-1,如果v也缺省,则系统对comiterm中的默认变量求和。
例1:求级数 , 的和。 • 解:利用MATLAB函数symsum设计如下程序: • clear • syms n • f1=(2*n-1)/2^n; • f2=1/(n*(2*n+1)); • I1=symsum(f1,n,1,inf) • I2=symsum(f2,n,1,inf) • 运行结果为: • I1 =3 • I2 =2-2*log(2)
本例是收敛的情况,如果发散,则求得的和为inf,因此,本方法就可以同时用来解决求和问题和收敛性问题。本例是收敛的情况,如果发散,则求得的和为inf,因此,本方法就可以同时用来解决求和问题和收敛性问题。 • 例2:求级数 , 的和。 • 解:MATLAB程序如下: • f2=1/(n*(2*n+1)); • I1=symsum(f1,n,1,inf) • I2=symsum(f2,n,1,inf) • 运行结果为: • I1 =3 • I2 =2-2*log(2)
本例是收敛的情况,如果发散,则求得的和为inf,因此,本方法就可以同时用来解决求和问题和收敛性问题。本例是收敛的情况,如果发散,则求得的和为inf,因此,本方法就可以同时用来解决求和问题和收敛性问题。 • 例2:求级数 , 的和。 • 解:MATLAB程序如下: • clear • syms n x • f3=sin(x)/n^2; • f4=(-1)^(n-1)*x^n/n; • I3=symsum(f3,n,1,inf) • I4=symsum(f4,n,1,inf)
运行结果为: • I3 =1/6*sin(x)*pi^2 • I4 =log(1+x) • 从这个例子可以看出,symsum()这个函数不但可以处理常数项级数,也可以处理函数项级数。 • clear • syms n x • f3=sin(x)/n^2; • f4=(-1)^(n-1)*x^n/n; • I3=symsum(f3,n,1,inf) • I4=symsum(f4,n,1,inf)
运行结果为: • I3 =1/6*sin(x)*pi^2 • I4 =log(1+x) • 从这个例子可以看出,symsum()这个函数不但可以处理常数项级数,也可以处理函数项级数。
(二)函数的泰勒展开 • 级数是高等数学中函数的一种重要表示形式,有许多复杂的函数都可以用级数简单地来表示,而将一个复杂的函数展开成幂级数并取其前面的若干项来近似表达这个函数是一种很好的近似方法,在学习级数的时候,我们知道将一个函数展开成级数有时是比较麻烦的,现在我们介绍用MATLAB展开函数的方法。
在MATLAB中,用于幂级数展开的函数为taylor(),其具体格式为:在MATLAB中,用于幂级数展开的函数为taylor(),其具体格式为: • taylor(function,n,x,a) • function是待展开的函数表达式,n为展开项数,缺省时展开至5次幂,即6项,x是function中的变量,a为函数的展开点,缺省为0,即麦克劳林展开。是比较麻烦的,现在我们介绍用MATLAB展开函数的方法。
在MATLAB中,用于幂级数展开的函数为taylor(),其具体格式为:在MATLAB中,用于幂级数展开的函数为taylor(),其具体格式为: • taylor(function,n,x,a) • function是待展开的函数表达式,n为展开项数,缺省时展开至5次幂,即6项,x是function中的变量,a为函数的展开点,缺省为0,即麦克劳林展开。 • 例3:将函数 展开为 的幂级数,分别展开至5次和20次。 • 解:MATLAB程序为: • clear • syms x • f=sin(x);
taylor(f) • taylor(f,20) • 结果为: • ans =x-1/6*x^3+1/120*x^5 • ans=x-1/6*x^3+1/120*x^5- • 例3:将函数 展开为 的幂级数,分别展开至5次和20次。 • 解:MATLAB程序为: • clear • syms x • f=sin(x);
taylor(f) • taylor(f,20) • 结果为: • ans =x-1/6*x^3+1/120*x^5 • ans=x-1/6*x^3+1/120*x^5- • 1/5040*x^7+1/362880*x^9-1/39916800*x^11+1/6227020800*x^13-1/1307674368000*x^15+1/355687428096000*x^17-1/121645100408832000*x^19
例4:将函数 展开为 的幂级数,为任意常数。展开至4次幂。 • 解:MATLAB程序为: • clear • syms x m • f=(1+x)^m; • 1/5040*x^7+1/362880*x^9-1/39916800*x^11+1/6227020800*x^13-1/1307674368000*x^15+1/355687428096000*x^17-1/121645100408832000*x^19
例4:将函数 展开为 的幂级数,为任意常数。展开至4次幂。 • 解:MATLAB程序为: • clear • syms x m • f=(1+x)^m; • taylor(f,5) • 运行结果为: • ans=1+m*x+1/2*m*(m-1)*x^2 • +1/6*m*(m-1)*(m-2)*x^3 • +1/24*m*(m-1)*(m-2)*(m-3)*x^4
例5:将函数 展开为 的幂级数。 • 解:MATLAB程序为: • clear • syms x • f=1/(x^2+5*x-3); • taylor(f,5) • 运行结果为: • ans=1+m*x+1/2*m*(m-1)*x^2 • +1/6*m*(m-1)*(m-2)*x^3 • +1/24*m*(m-1)*(m-2)*(m-3)*x^4
例5:将函数 展开为 的幂级数。 • 解:MATLAB程序为: • clear • syms x • f=1/(x^2+5*x-3); • taylor(f,5,x,2) • pretty(ans)
结果为: • ans =29/121-9/121*x+70/1331*(x-2)^2-531/14641*(x-2)^3+4009/161051*(x-2)^4 • 29 70 2 531 3 4009 4 • ----- - 9/121 x + ------ (x - 2) - ------- (x - 2) + ---------- (x - 2) • 121 1331 14641 161051 • taylor(f,5,x,2) • pretty(ans)
结果为: • ans =29/121-9/121*x+70/1331*(x-2)^2-531/14641*(x-2)^3+4009/161051*(x-2)^4 • 29 70 2 531 3 4009 4 • ----- - 9/121 x + ------ (x - 2) - ------- (x - 2) + ---------- (x - 2) • 121 1331 14641 161051
三、实验内容 • 1.求级数 的和。 • 2.求级数 的和。 • 3.将函数 展开成 的幂级数,取前10项。 • 4.完成实验报告。