第9讲MATLAB符号计算

上传人:t****d 文档编号:243000213 上传时间:2024-09-13 格式:PPT 页数:28 大小:74.50KB
返回 下载 相关 举报
第9讲MATLAB符号计算_第1页
第1页 / 共28页
第9讲MATLAB符号计算_第2页
第2页 / 共28页
第9讲MATLAB符号计算_第3页
第3页 / 共28页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第9章 MATLAB符号计算,9.1 符号对象,9.2 符号微积分,9.3 级 数,9.4 符号方程求解,1,9.1 符号对象,9.1.1 建立符号对象,1建立符号变量和符号常量,MATLAB提供了两个建立符号对象的函数:,sym,和,syms,,两个函数的用法不同。,(1) sym函数,sym函数用来建立,单个,符号量,一般调用格式为:,符号量名=sym(符号字符串),该函数可以建立一个符号量,符号字符串可以是常量、变量、函数或表达式。 例如,,a=sym(a),用户可以使用变量a进行各种运算.,2,应用sym函数还可以定义,符号常量,,使用符号常量进行代数运算时和数值常量进行的运算不同。下面的命令用于比较符号常量与数值常量在代数运算时的差别。,pi1=sym(pi);k1=sym(8);,pi2=pi;k2=8;,sin(pi1/3),ans =,1/2*3(1/2),sin(pi2/3),ans = sqrt(k1) sqrt(k2),0.8660 ( 2*2(1/2) 2.8284 ),3,(2) syms函数,函数sym一次只能定义一个符号变量,使用不方便。MATLAB提供了另一个函数 syms,一次可以,定义多个符号变量,。syms函数的一般调用格式为:,syms 符号变量名1 符号变量名2 ,符号变量名n,用这种格式定义符号变量时,不要在变量名上加字符串分界符(,),,变量间用,空格,而不要用逗号分隔。,4,2建立符号表达式,含有符号对象的表达式,称为符号表达式。建立符号表达式有以下3种方法:,(1)利用单引号来生成符号表达式。,如:y=1/sqrt(2*x) ,(2)用sym函数建立符号表达式。,如:U=sym(3*x2-5*y+2*x*y+6 ),(3) 使用已经定义的符号变量组成符号表达式。,如:syms x y;,V=3*x2-5*y+2*x*y+6,5,9.1.2 符号表达式运算,1符号表达式的四则运算,符号表达式的加、减、乘、除运算可分别由函数symadd、symsub、symmul和symdiv来实现,幂运算可以由sympow来实现。如,,f=2*x2+3*x-5 ; g=x2-x+7 ;,symadd(f,g),ans=,3*x2+2*x+2,symmul(f,g),ans=,(2*x2+3*x-5) *(x2-x+7),6,2符号表达式的提取分子和分母运算,如果符号表达式是一个有理分式或可以展开为有理分式,可利用,numden,函数来提取符号表达式中的分子或分母。其一般调用格式为:,n,d=numden(s),该函数提取符号表达式s的分子和分母,分别将它们存放在n与d中。,(,numerator, denominator),7,3符号表达式的因式分解与展开,MATLAB提供了符号表达式的因式分解与展开的函数,函数的调用格式为:,factor(s):对符号表达式s分解因式。,expand(s):对符号表达式s进行展开。,collect(s):对符号表达式s合并同类项。,collect(s,v):对符号表达式s按变量v合并同类项。,8,4符号表达式的化简,MATLAB提供的对符号表达式化简的函数有:,simplify(s):应用函数规则对s进行化简。,simple(s):调用MATLAB的其他函数对表达,式进行综合化简,并显示化简过程。,9,5符号表达式与数值表达式之间的转换,利用函数sym可以将数值表达式变换成它的符号表达式。如,,sym(3.14),ans=,157/50,函数numeric或eval可以将符号表达式变换成数值表达式。如,,numeric(1+sqrt(5)/2),ans=,1.6180,10,9.1.3 符号表达式中变量的确定,MATLAB中的符号可以表示符号变量和符号常量。findsym可以帮助用户查找一个符号表达式中的的符号变量。该函数的调用格式为:,findsym(s,n),函数返回符号表达式s中的n个符号变量,若没有指定n,则返回s中的全部符号变量。,11,9.1.4 符号矩阵,符号矩阵也是一种符号表达式,所以前面介绍的符号表达式运算都可以在矩阵意义下进行。但应注意这些函数作用于符号矩阵时,是,分别作用于矩阵的每一个元素,。,由于符号矩阵是一个矩阵,所以符号矩阵还能进行有关矩阵的运算。MATLAB还有一些专用于符号矩阵的函数,这些函数,作用于单个的数据无意义,。例如,transpose(s): 返回s矩阵的转置矩阵。,determ(s):返回s矩阵的行列式值。,其实,曾介绍过的许多应用于数值矩阵的函数,如diag、triu、tril、inv、det、rank、eig等,也可直接应用于符号矩阵。,12,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。,13,(3) limit(f):求符号函数f(x)的极限值。符号函数f(x)的变量为函数findsym(f)确定的默认变量;没有指定变量的目标值时,系统默认变量趋近于0,即a=0的情况。,(4) limit(f,x,a,right):求符号函数f的极限值。right表示变量x从右边趋近于a。,(5) limit(f,x,a,left):求符号函数f的极限值。left表示变量x从左边趋近于a。,14,例9-1 求下列极限:,(1) (2),(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),15,(3) (4),(3) syms x;,f=x*(sqrt(x2+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,16,9.2.2 符号导数,diff函数用于对符号表达式求导数。该函数的一般调用格式为:,diff(s):没有指定变量和导数阶数,则系统按findsym函数指示的默认变量对符号表达式s求一阶导数。,diff(s,v):以v为自变量,对符号表达式s求一阶导数。,diff(s,n):按findsym函数指示的默认变量对符号表达式s求n阶导数,n为正整数。,diff(s,v,n):以v为自变量,对符号表达式s求n阶导数。,17,例9-2 求下列函数的导数。(1) y= ,求y (2) y= ,求y ,y (3) ,求y ,y (4) z= ,求z,x,,z,y,syms a b t x y z;,f1=sqrt(1+exp(x);diff(f1) %求(1),f2=x*cos(x);diff(f2,x,2) %求(2)中y,diff(f2,x,3) %求(2)中y,g1=a*cos(t); g2=b*sin(t); diff(g1)/ diff(g2),%求(3)中y , 下行求y,(diff(g1)*diff(g2,2)- diff(g1,2)*diff(g2)/ (diff(g1)3,f4=x*exp(y)/y2; diff(f4,x) %求(4),diff(f4,y) %求(4),18,9.2.3 符号积分,符号积分由函数,int,来实现。该函数的一般调用格式为:,int(s):没有指定积分变量和积分阶数时,系统按,findsym函数指示的默认变量对被积函数或符,号表达式s求不定积分。,int(s,v):以v为自变量,对被积函数或符号表达式s求,不定积分。,int(s,v,a,b):求定积分运算。a,b分别表示定积分的下限和上限。该函数求被积函数在区间a,b上的定积分。a和b可以是两个具体的数,也可以是一个符号表达式,还可以是无穷(inf)。当函数f关于变量x在闭区间a,b上可积时,函数返回一个定积分结果。当a,b中有一个是inf时,函数返回一个广义积分。当a,b中有一个符号表达式时,函数返回一个符号函数。,19,例9-3 求下列积分。,(2),(4),命令如下:,x=,sym(x);t,=,sym(t,);,int(abs(1-x),1,2) %,求,(1) 1/2,f=1/(1+x2);,int(f,-inf,inf,) %,求,(2) pi,f=x3/(x-1)10;,I=int(f,2,3) %,求,(3) 138535/129024,int(4*x/t,t,2,sin(x) %,求,(4),4*,log(sin(x,)*x-4*log(2)*x,20,9.2.4 积分变换,常见的积分变换有,傅立叶变换,、,拉普拉斯变换,和,Z变换,。,1傅立叶(Fourier)变换,傅立叶变换:,逆变换:,在MATLAB中,进行傅立叶变换的函数是:,fourier(f,x,t): 求函数f(x)的傅立叶像函数F(t)。,ifourier(F,t,x):求傅立叶像函数F(t)的原函数,f(x)。,21,2拉普拉斯(Laplace)变换,拉普拉斯变换:,逆变换:,在MATLAB中,进行拉普拉斯变换的函数是:,laplace(fx,x,t): 求函数f(x)的拉普拉斯像函数,F(t)。,ilaplace(Fw,t,x):求拉普拉斯像函数F(t)的原,函数f(x)。,22,3Z变换,当函数f(x)呈现为一个离散的数列f(n)时,对数列f(n)进行z变换:,逆变换:,对数列f(n)进行z变换的MATLAB函数是:,ztrans(fn,n,z):求f(n)的Z变换像函数F(z)。,iztrans(Fz,z,n):求F(z)的z变换原函数f(n)。,23,9.3 级 数,9.3.1 级数符号求和,求无穷级数的和需要符号表达式求和函数symsum,其调用格式为:,symsum(s,v,n,m),其中s表示一个级数的通项,是一个符号表达式。v是求和变量,v省略时使用系统的默认变量。n和m是求和的开始项和末项。,例9-4 求下列级数之和。,(1) (2),24,9.3.2 函数的泰勒级数,MATLAB提供了taylor函数将函数展开为幂级数,其调用格式为:,taylor(f,v,n,a),该函数将函数f按变量v展开为泰勒级数,展开到第n项(即变量v的n-1次幂)为止,n的缺省值为6。v的缺省值与diff函数相同。参数a指定将函数f在自变量v=a处展开,a的缺省值是0。,25,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。,26,例9-5 解下列方程和方程组。,(1) (2),(3),命令如下:,x=solve(2*sin(3*x-pi/4)=1) %解方程(1),x=solve(x+x*exp(x)-10, x) %解方程(2),x y=solve(x+y-8, x(1/3)+y(1/3)-2, x,y),%解方程组(3),27,9.4.2 符号常微分方程求解,在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给出求解变量。,28,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!