• / 25

第9章经典MATLAB符号计算.ppt

配套讲稿:

如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

特殊限制:

部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

关 键  词:
第9章经典MATLAB符号计算.ppt
资源描述:

《第9章经典MATLAB符号计算.ppt》由会员分享,可在线阅读,更多相关《第9章经典MATLAB符号计算.ppt(25页珍藏版)》请在微传网上搜索。

1、MATLAB符号计算 1 符号对象 2 符号微积分 3 级 数 4 符号方程求解,,9.1 符号对象 9.1.1 建立符号对象 1.建立符号变量和符号常量 MATLAB提供了两个建立符号对象的函数:sym和syms,两个函数的用法不同。 (1) sym函数 sym函数用来建立单个符号量,一般调用格式为: 符号量名=sym(符号字符串) 该函数可以建立一个符号量,符号字符串可以是常量、变量、函数或表达式。 应用sym函数还可以定义符号常量,使用符号常量进行代数运算时和数值常量进行的运算不同。下面的命令用于比较符号常量与数值常量在代数运算时的差别。,,(2) syms函数 函数sym一次只能定义一。

2、个符号变量,使用不方便。MATLAB提供了另一个函数syms,一次可以定义多个符号变量。syms函数的一般调用格式为: syms 符号变量名1 符号变量名2 … 符号变量名n 用这种格式定义符号变量时不要在变量名上加字符串分界符(‘),变量间用空格而不要用逗号分隔。,,2.建立符号表达式 含有符号对象的表达式称为符号表达式。建立符号表达式有以下3种方法: (1)利用单引号来生成符号表达式。 (2)用sym函数建立符号表达式。 (3) 使用已经定义的符号变量组成符号表达式。,,9.1.2 符号表达式运算 1.符号表达式的四则运算 符号表达式的加、减、乘、除运算可分别由函数symadd、symsu。

3、b、symmul和symdiv来实现,幂运算可以由sympow来实现。 2.符号表达式的提取分子和分母运算 如果符号表达式是一个有理分式或可以展开为有理分式,可利用numden函数来提取符号表达式中的分子或分母。其一般调用格式为: [n,d]=numden(s) 该函数提取符号表达式s的分子和分母,分别将它们存放在n与d中。,,3.符号表达式的因式分解与展开 MATLAB提供了符号表达式的因式分解与展开的函数,函数的调用格式为: factor(s):对符号表达式s分解因式。 expand(s):对符号表达式s进行展开。 collect(s):对符号表达式s合并同类项。 collect(s,v)。

4、:对符号表达式s按变量v合并同类项。,,4.符号表达式的化简 MATLAB提供的对符号表达式化简的函数有: simplify(s):应用函数规则对s进行化简。 simple(s):调用MATLAB的其他函数对表达式进行综合化简,并显示化简过程。,,5.符号表达式与数值表达式之间的转换 利用函数sym可以将数值表达式变换成它的符号表达式。 函数numeric或eval可以将符号表达式变换成数值表达式。,,9.1.3 符号表达式中变量的确定 MATLAB中的符号可以表示符号变量和符号常量。findsym可以帮助用户查找一个符号表达式中的的符号变量。该函数的调用格式为: findsym(s,n) 函。

5、数返回符号表达式s中的n个符号变量,若没有指定n,则返回s中的全部符号变量。,,9.1.4 符号矩阵 符号矩阵也是一种符号表达式,所以前面介绍的符号表达式运算都可以在矩阵意义下进行。但应注意这些函数作用于符号矩阵时,是分别作用于矩阵的每一个元素。 由于符号矩阵是一个矩阵,所以符号矩阵还能进行有关矩阵的运算。MATLAB还有一些专用于符号矩阵的函数,这些函数作用于单个的数据无意义。例如 transpose(s):返回s矩阵的转置矩阵。 determ(s):返回s矩阵的行列式值。 其实,曾介绍过的许多应用于数值矩阵的函数,如diag、triu、tril、inv、det、rank、eig等,也可直接。

6、应用于符号矩阵。,,9.2 符号微积分 9.2.1 符号极限 limit函数的调用格式为: (1) limit(f,x,a):求符号函数f(x)的极限值。即计算当变量x趋近于常数a时,f(x)函数的极限值。 (2) limit(f,a):求符号函数f(x)的极限值。由于没有指定符号函数f(x)的自变量,则使用该格式时,符号函数f(x)的变量为函数findsym(f)确定的默认自变量,即变量x趋近于a。,,(3) limit(f):求符号函数f(x)的极限值。符号函数f(x)的变量为函数findsym(f)确定的默认变量;没有指定变量的目标值时,系统默认变量趋近于0,即a=0的情况。 (4) l。

7、imit(f,x,a,right):求符号函数f的极限值。right表示变量x从右边趋近于a。 (5) limit(f,x,a,‘left’):求符号函数f的极限值。‘left’表示变量x从左边趋近于a。,,例9-1 求下列极限。 极限1: syms a m x; f=(x*(exp(sin(x))+1)-2*(exp(tan(x))-1))/(x+a); limit(f,x,a) ans = (1/2*a*exp(sin(a))+1/2*a-exp(tan(a))+1)/a 极限2: syms x t; limit((1+2*t/x)^(3*x),x,inf) ans = exp(6*t),。

8、,极限3: syms x; f=x*(sqrt(x^2+1)-x); limit(f,x,inf,left) ans = 1/2 极限4: syms x; f=(sqrt(x)-sqrt(2)-sqrt(x-2))/sqrt(x*x-4); limit(f,x,2,right) ans = -1/2,,9.2.2 符号导数 diff函数用于对符号表达式求导数。该函数的一般调用格式为: diff(s):没有指定变量和导数阶数,则系统按findsym函数指示的默认变量对符号表达式s求一阶导数。 diff(s,v):以v为自变量,对符号表达式s求一阶导数。 diff(s,n):按findsym函数指。

9、示的默认变量对符号表达式s求n阶导数,n为正整数。 diff(s,v,n):以v为自变量,对符号表达式s求n阶导数。 例9-2 求下列函数的导数。,,9.2.3 符号积分 符号积分由函数int来实现。该函数的一般调用格式为: int(s):没有指定积分变量和积分阶数时,系统按findsym函数指示的默认变量对被积函数或符号表达式s求不定积分。 int(s,v):以v为自变量,对被积函数或符号表达式s求不定积分。 int(s,v,a,b):求定积分运算。a,b分别表示定积分的下限和上限。该函数求被积函数在区间[a,b]上的定积分。a和b可以是两个具体的数,也可以是一个符号表达式,还可以是无穷(i。

10、nf)。当函数f关于变量x在闭区间[a,b]上可积时,函数返回一个定积分结果。当a,b中有一个是inf时,函数返回一个广义积分。当a,b中有一个符号表达式时,函数返回一个符号函数。 例9-3 求下列积分。,,syms x x1 alpha u t; A = [cos(x*t),sin(x*t);-sin(x*t),cos(x*t)]; int(1/(1+x^2)) %returns atan(x) int(sin(alpha*u),alpha) % returns -cos(alpha*u)/u int(besselj(1,x),x) %returns -besselj(0。

11、,x) int(x1*log(1+x1),0,1) % returns 1/4 int(4*x*t,x,2,sin(t)) %returns 2*sin(t)^2*t-8*t int([exp(t),exp(alpha*t)]) %returns [exp(t), %1/alpha*exp(alpha*t)] int(A,t) %returns [sin(x*t)/x, -cos(x*t)/x] [cos(x*t)/x, sin(x*t)/x],,9.2.4 积分变换 常见的积分变换有傅立叶变换、拉普拉斯变换和Z变换。 1.傅立叶(Fourier)变。

12、换 在MATLAB中,进行傅立叶变换的函数是: fourier(f,x,t):求函数f(x)的傅立叶像函数F(t)。 ifourier(F,t,x):求傅立叶像函数F(t)的原函数f(x)。 例9-4,,syms t v w x fourier(1/t) % returns i*pi*(Heaviside(-%w)-Heaviside(w)) fourier(exp(-x^2),x,t) %returns %pi^(1/2)*exp(-1/4*t^2) fourier(exp(-t)*sym(Heaviside(t)),v) %returns 1/(1+i*v) fourier(dif。

13、f(sym(F(x))),x,w) %returns %i*w*fourier(F(x),x,w),,2.拉普拉斯(Laplace)变换 在MATLAB中,进行拉普拉斯变换的函数是: laplace(fx,x,t):求函数f(x)的拉普拉斯像函数F(t)。 ilaplace(Fw,t,x):求拉普拉斯像函数F(t)的原函数f(x)。 例9-5 计算y=x3的拉普拉斯变换及其逆变换。,,3.Z变换 当函数f(x)呈现为一个离散的数列f(n)时,对数列f(n)进行z变换的MATLAB函数是: ztrans(fn,n,z):求fn的Z变换像函数F(z)。 iztrans(Fz,z,n):求Fz的z变。

14、换原函数f(n)。 例9-6 求数列 fn=e-2n的Z变换及其逆变换。,,9.3 级 数 9.3.1 级数符号求和 求无穷级数的和需要符号表达式求和函数symsum,其调用格式为: symsum(s,v,n,m) 其中s表示一个级数的通项,是一个符号表达式。v是求和变量,v省略时使用系统的默认变量。n和m是求和的开始项和末项。 例9-7 求下列级数之和。,,9.3.2 函数的泰勒级数 MATLAB提供了taylor函数将函数展开为幂级数,其调用格式为: taylor(f,v,n,a) 该函数将函数f按变量v展开为泰勒级数,展开到第n项(即变量v的n-1次幂)为止,n的缺省值为6。v的缺省值与。

15、diff函数相同。参数a指定将函数f在自变量v=a处展开,a的缺省值是0。 例9-8 求函数在指定点的泰勒级数展开式。,,9.4 符号方程求解 9.4.1 符号代数方程求解 在MATLAB中,求解用符号表达式表示的代数方程可由函数solve实现,其调用格式为: solve(s):求解符号表达式s的代数方程,求解变量为默认变量。 solve(s,v):求解符号表达式s的代数方程,求解变量为v。 solve(s1,s2,…,sn,v1,v2,…,vn):求解符号表达式s1,s2,…,sn组成的代数方程组,求解变量分别v1,v2,…,vn。 例9-9 解下列方程。,,9.4.2 符号常微分方程求解 。

16、在MATLAB中,用大写字母D表示导数。例如,Dy表示y,D2y表示y,Dy(0)=5表示y(0)=5。D3y+D2y+Dy-x+5=0表示微分方程y+y+y-x+5=0。符号常微分方程求解可以通过函数dsolve来实现,其调用格式为: dsolve(e,c,v) 该函数求解常微分方程e在初值条件c下的特解。参数v描述方程中的自变量,省略时按缺省原则处理,若没有给出初值条件c,则求方程的通解。 dsolve在求常微分方程组时的调用格式为: dsolve(e1,e2,…,en,c1,…,cn,v1,…,vn) 该函数求解常微分方程组e1,…,en在初值条件c1,…,cn下的特解,若不给出初值条件,则求方程组的通解,v1,…,vn给出求解变量。 例9-10 求下列微分方程的解。,。

展开阅读全文
  微传网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
0条评论

还可以输入200字符

暂无评论,赶快抢占沙发吧。

关于本文
本文标题:第9章经典MATLAB符号计算.ppt
链接地址:https://www.weizhuannet.com/p-11934617.html
微传网是一个办公文档、学习资料下载的在线文档分享平台!

网站资源均来自网络,如有侵权,请联系客服删除!

 网站客服QQ:80879498  会员QQ群:727456886

copyright@ 2018-2028 微传网版权所有

     经营许可证编号:冀ICP备18006529号-1 公安局备案号:13028102000124

收起
展开