本篇内容主要对于利用MATLAB来计算无限级数和泰勒级数。

目录

1 无限级数

1.1 无限级数的定义:

1.2 symsum函数

1.3 利用MATLAB对于无限级数的示例进行求解

2 泰勒级数

2.1 泰勒级数的定义:

2.2 taylor函数

2.3 利用MATLAB对于无限级数的示例进行求解

1 无限级数

1.1 无限级数的定义:

无穷级数是研究有次序的可数或者无穷个数函数的和的收敛性及和的数值的方法,理论以数项级数为基础,数项级数有发散性和收敛性的区别。只有无穷级数收敛时有一个和,发散的无穷级数没有和。(本段定义引用自百度百科无限级数)

1.2 symsum函数

在MATLAB中提供了symsum函数用于计算无限级数,其中symsum函数的调用方式为:symsum(y,x,start,end),其中y是一个符号表达式,表示的是该无限级数的通项,x表示的是进行计算的自变量,而start表示的是开始项,end表示的是结束项。

下面对于symsum函数进行举例,例如利用MATLAB判断下面的级数和为多少:

Python怎么用泰勒级数算cos1_Python怎么用泰勒级数算cos1

MATLAB代码如下所示:

syms n
s=symsum(1/(n*(n+1)),n,1,Inf)

运行结果如下所示:

s =
     1

利用MATLAB对于无限级数的计算可以极大地简化我们计算速度。例如,如果我们对于上述的无限级数进行计算的话,过程如下所示:

Python怎么用泰勒级数算cos1_matlab_02

Python怎么用泰勒级数算cos1_符号表_03

计算结果与上面MATLAB计算所得结果相同,利用对于部分求无限级数的问题MATLAB可以一定程度上进行简化操作。

1.3 利用MATLAB对于无限级数的示例进行求解

下面对于一些无限级数的示例进行求解,例如:

Python怎么用泰勒级数算cos1_符号表_04

Python怎么用泰勒级数算cos1_matlab_05

Python怎么用泰勒级数算cos1_取值_06

Python怎么用泰勒级数算cos1_符号表_07

 MATLAB代码如下所示:

syms n
x1=(-1^(n-1))/(n*(n+2))
x2=1/((5*n-4)*(5*n+1))
x3=1/(n^2)
x4=((-1)^(n+1))/(n^2)
y1=symsum(x1,n,1,Inf)
y2=symsum(x2,n,1,Inf)
y3=symsum(x3,n,1,Inf)
y4=symsum(x4,n,1,Inf)

运行结果如下所示:

y1 =
     -3/4
y2 =
     1/5
y3 =
     pi^2/6
y4 =
     pi^2/12

2 泰勒级数

2.1 泰勒级数的定义:

如果f(x)在Python怎么用泰勒级数算cos1_取值_08

具有任意接的导数,则幂函数Python怎么用泰勒级数算cos1_取值_09

称为Python怎么用泰勒级数算cos1_MATLAB_10Python怎么用泰勒级数算cos1_取值_08

处的泰勒级数。在泰勒级数中,取Python怎么用泰勒级数算cos1_matlab_12,得到的级数:Python怎么用泰勒级数算cos1_取值_13

 称为麦克劳林级数。函数f(x)的麦克劳林级数是x的幂函数,那么这种展开是唯一的,且必然与f(x)的麦克劳林级数一致。

(上述定义引用自百度百科泰勒级数)

2.2 taylor函数

在MATLAB中提供了taylor函数对符号表达式求其泰勒级数的表达式,taylor函数的调用方式为:taylor(y,x,a,Name,Value),其中上式子中:

  • y表示的是待展开的函数表达式。
  • x表示自变量。
  • a表示的是函数y在x=a的展开值。
  • Name有三个取值,包括ExpansionPoint、Order以及OrderMode,而Value表示Name的取值,具体的细节如下所示:
  • Order:指定截断阶,所取的是一个正整数,未设置的时候,截断阶为6,表示的最高阶为5。
  • ExpansionPoint:指定展开点,系统的默认值为0。
  • OrderMode:指定展开式相对阶和绝对阶,有两个取值,分别为Absolute和Relative,如果未设置,那么系统默认为Absolute。

下面举例利用MATLAB中taylor函数对于符号表达式的泰勒级数进行计算。例如对于Python怎么用泰勒级数算cos1_符号表_14

在x=0处求其泰勒级数。

利用MATLAB进行求解如下所示:

syms x
y=exp(x);
taylor(y)

运行结果如下所示:

ans =
    x^5/120 + x^4/24 + x^3/6 + x^2/2 + x + 1

通过上述运行结果可以看出系统默认的输出结果的最高阶是5,并且默认情况下取变量x在x=0时的情况。

2.3 利用MATLAB对于无限级数的示例进行求解

利用MATLAB我们还可以对一些较为符号表达式进行求解。例如:Python怎么用泰勒级数算cos1_matlab_15Python怎么用泰勒级数算cos1_matlab_16Python怎么用泰勒级数算cos1_取值_17Python怎么用泰勒级数算cos1_符号表_18

MATLAB代码如下所示:

syms x
f1=exp(-x^2/2);
f2=1/(x-1);
f3=sin(4*x);
f4=x/2*cos(x);
y1=taylor(f1,x,0)
y2=taylor(f2,x,0,'Order',7)
y3=taylor(f3,x,0,'Order',6)
y4=taylor(f4,x,0)

运行结果如下所示:

y1 = 
    x^4/8 - x^2/2 + 1 
y2 = 
    - x^6 - x^5 - x^4 - x^3 - x^2 - x - 1 
y3 = 
    (128*x^5)/15 - (32*x^3)/3 + 4*x 
y4 = 
    x^5/48 - x^3/4 + x/2