实验四MATLAB在方程求解和级数中的应用

更新时间:2023-06-08 06:38:02 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验四

MATLAB在方程求解 MATLAB 和级数中的应用 级数

方程和方程组的求解 线性映射的迭代与特征向量的计算

一、利用MATLAB进行级数运算的方法和技能 在高等数学中,级数一般分为三个部分来叙述, 在高等数学中,级数一般分为三个部分来叙述, 即常数项级数的求和和审敛法则、 即常数项级数的求和和审敛法则、幂级数的审敛 和将函数展开为幂级数、 和将函数展开为幂级数、傅立叶级数的性质和将 函数展开为傅立叶级数。 函数展开为傅立叶级数。

Nanjing University of Posts and Telecommunications

1.常数项级数的求和与审敛 1.常数项级数的求和与审敛在讨论常数项级数时,一般认为, 在讨论常数项级数时,一般认为,如果级数 的部分和

∑ai =1

i

∑ai =1

n

i

的极限存在,则称该级数收敛, 的极限存在,则称该级数收敛,并称此极

限为级数的和。在MATLAB中,用于级数求和的命令是 限为级数的和。 中 symsum(),该命令的应用格式为: ,该命令的应用格式为: symsum(comiterm,v,a,b) 其中: 为级数的通项表达式, 是通项中的求和 其中:comiterm为级数的通项表达式,v是通项中的求和 为级数的通项表达式 变量, 和 分别为求和变量的起点和终点 如果a, 缺省 分别为求和变量的起点和终点。 缺省, 变量,a和b分别为求和变量的起点和终点。如果 ,b缺省, 则v从0变到 ,如果v也缺省,则系统对comiterm中的默 从 变到v-1,如果 也缺省,则系统对 默 变到 也缺省 认变量求和。 认变量求和南 京 邮 电 大 学Nanjing University of Posts and Telecommunications

1 2n 1 I2 = ∑ I1 = ∑ n 例1:求级数 : , n =1 n (2 n + 1) 2 n =1∞

的和。 的和。

函数symsum设计如下程序: 设计如下程序: 解:利用MATLAB函数 利用 函数 设计如下程序 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)南 京 邮 电 大 学Nanjing University of Posts and Telecommunications

本例是收敛的情况,如果发散,则求得的和为 ,因此, 本例是收敛的情况,如果发散,则求得的和为inf,因此, 本方法就可以同时用来解决求和问题和收敛性问题。 本方法就可以同时用来解决求和问题和收敛性问题。∞

sin x , I = ( 1)n 1 ∑ I3 = ∑ 2 4 n =1 n =1 n 程序如下: 解:MATLAB程序如下: 程序如下例2:求级数 求级数 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)南 京 邮 电 大 学Nanjing University of Posts and Telecommunications

xn n

的和。 的和。

运行结果为: 运行结果为: I3 =1/6*sin(x)*pi^2 I4 =log(1+x) 从这个例子可以

看出, 从这个例子可以看出,symsum()这个函数不但可以处理常 这个函数不但可以处理常 数项级数,也可以处理函数项级数。 函数项级数 数项级数,也可以处理函数项级数。

Nanjing University of Posts and Telecommunications

2.函数的泰勒展开级数是高等数学中函数的一种重要表示形式, 级数是高等数学中函数的一种重要表示形式,有许 多复杂的函数都可以用级数简单地来表示, 多复杂的函数都可以用级数简单地来表示,而将一个复杂 的函数展开成幂级数并取其前面的若干项来近似表达这个 函数是一种很好的近似方法,在学习级数的时候, 函数是一种很好的近似方法,在学习级数的时候,将一个 函数展开成级数有时是比较麻烦的, 函数展开成级数有时是比较麻烦的,现在介绍利用 MATLAB展开函数的方法。 展开函数的方法。 展开函数的方法

(泰勒级数逼近计算器taylortool) 泰勒级数逼近计算器taylortool)南 京 邮 电 大 学

Nanjing University of Posts and Telecommunications

在MATLAB中,用于幂级数展开的函数为 中 用于幂级数展开的函数为taylor(),其具 , 体格式为: 体格式为: taylor(function,n,x,a) function是待展开的函数表达式,n为展开项数,缺省时 是待展开的函数表达式, 为展开项数, 是待展开的函数表达式 为展开项数 展开至5次幂, 中的变量, 为函数的 展开至 次幂,即6项,x是function中的变量,a为函数的 次幂 项 是 中的变量 展开点,缺省为 展开点,缺省为0,即麦克劳林展开。

Nanjing University of Posts and Telecommunications

sin( 的幂级数,分别展开至5次 例3:将函数sin(x)展开为 x 的幂级数,分别展开至 次 :将函数sin 和20次。 次 程序为: 解:MATLAB程序为: 程序为 clear syms x f=sin(x); taylor(f)南 京

结果为: 结果为: ans =x-1/6*x^3+1/120*x^5

taylor(f,20) 邮 电 大 学

Nanjing University of Posts and Telecommunications

ans=x-1/6*x^3+1/120*x^51/5040*x^7+1/362880*x^91/39916800*x^11+1/6227020800*x^131/1307674368000*x^15+1/355687428096000*x^171/121645100408832000*x^19

Nanjing University of Posts and Telecommunications

展开为x 的幂级数,为任意常数。 例4:将函数 :将函数(1+x)m展开为 的幂级数,为任意常数。展开 次幂。 至4次幂。 次幂 程序为: 解:MATLAB程序为: 程序为 clear syms x m f=(1+x)^m; taylor(f,5)南 京 邮 电 大 学

运行结果为: 运行结果为: ans=1+m*x+1/2*m*(m1)*x^2+1/6*m*(m-1)*(m-2)*x^3 +1/24*m*(m-1)*(m-2)*(m3)*x^4

Nanjing University of Posts and Telecommunications

例5:将函数 : 级数。 级数。 程序为: 解:MATLAB程序为: 程序为 clear syms x f=1/(x^2+5*x-3); taylor(f,5,x,2)南 京

开为 (x 2) 的幂

pretty(ans) 邮 电 大 学

Nanjing University of Posts and Telecommunications

结果为:ans =29/121-9/121*x+70/1331*(x-2)^2-531/14641*(x2)^3+4009/161051*(x-2)^429 70 2 531 3 4009 4 ----- - 9/121 x + ------ (x - 2) - ------- (x - 2) + ---------- (x - 2) 121 1331 14641 161051

Nanjing University of Posts and Telecommunications

Nanjing University of Posts and Telecommunications

二、线性方程组、非线性方程、非线性方程组的求解。 线性方程组、非线性方程、非线性方程组的求解。在MATLAB中,由函数 中 由函数solve()、null()、fsolve(),fzero 、 、 , 等来解决线性方程( 等来解决线性方程(组)和非线性方程(组)的求解问题, 和非线性方程( 的求解问题, 其具体格式如下: 其具体格式如下: X=solve(‘eqn1’,’eqn2’,…,’eqnN’,’var1’,’var2’,…,’var N’) X=fsolve(fun,x0,options) 函数solve用来解符号方程、方程组,以及超越方程,如 用来解符号方程、方程组,以及超越方程, 函数 用来解符号方程 三角函数方程等非线性方程。参数’ 三角函数方程等非线性方程。参数’eqnN’为方程组中的 为方程组中的南 京Nanjing University of Posts and Telecommunications

个方程, 则是第N个变量 第N个方程,’varN’则是第 个变量。 个方程 则是第 个变量。

函数null(A)则用来解线性方程组 则用来解线性方程组AX=O的基础解系,实际 的基础解系, 函数 则用来解线性方程组 的基础解系 是求系数矩阵A的零空间, 函数中可加入参数’ , 是求系数矩阵 的零空间,在null函数中可加入参数’r’, 的零空间 函数中可加入参数 表示有理基。通过求系数矩阵的秩和增广矩阵的秩, 表示有理基。通过求系数矩阵的秩和增广矩阵的秩,可以 判定方程组是否有解,以及是否需要求基础解系。另外, 判定方程组是否有解,以及是否需要求基础解系。另外, 还可以用函数fzero来求解非线性方程。用法与fsolve类 来求解非线性方程。用法与 还可以用函数 来求解非线性方程 类 似。

Nanjing University of Posts and Telecommunications

例1:求解方程

x2 x 6 = 0

的MATLAB程序为:

X=solve(‘x^2-x-6=0’,’x’) 结果为:X=3, -2 x2 + y 6 = 0 2 y + x 6 = 0

例2:求解方程组

的程序为:

[X,Y]=solve('x^2+y-6=0','y^2+x-6=0','x','y') 结果为: 结果为: X =2, -3, 1/2-1/2*21^(1/2), 1/2+1/2*21^(1/2) Y =2, -3, 1/2+1/2*21^(1/2), 1/2-1/2*21^(1/2)南 京 邮 电 大 学Nanjing University of Posts and Telecommunications

5 x1 + 4 x3 + 2 x4 = 3 x x + 2x + x = 1 1 2 3 4 例3:求解方程组 的程序为: 3 的程序为: 4 x1 + x2 + 2 x3 = 1 clear x1 +

x2 + x3 + x4 = 0 format rat A=[5, 0, 4, 2;1, -1, 2, 1;4, 1, 2,0;1,1,1,1]; ; B=[3;1;1;0]; ; X=A\B南 京 邮 电 大 学Nanjing University of Posts and Telecommunications

例4:求方程组

x1 + 2 x2 + 2 x3 + x4 = 0 2 x1 + x2 2 x3 2 x4 = 0 x x 4 x 3x = 0 3 4 1 2

的通解的程序 解的程序为: 解的程序 clear format rat A=[1,2,2,1;2,1,-2,-2;1,-1,-4,A=[1,2,2,1;2,1,-2,-2;1,-1,-4,-3] C=null(A,'r') 结果如下: 结果如下:南 京 邮 电 大 学Nanjing University of Posts and Telecommunications

%求出矩阵A的解空间的有理基。 求出矩阵A的解空间的有理基。

C= 2 -2 1 0 5/3 -4/3 0 1

接着,用命令: 接着,用命令: syms k1 k2南 京

X=k1*C(:,1)+k2*C(:,2) 邮 电 大 学

Nanjing University of Posts and Telecommunications

求出的通解为: X= [ 2*k1+5/3*k2] [ -2*k1-4/3*k2] [ [ k1] k2]

Nanjing University of Posts and Telecommunications

本文来源:https://www.bwwdw.com/article/vdd1.html

Top