《田MATLAB符号运算》PPT课件

上传人:xt****7 文档编号:181591237 上传时间:2023-01-14 格式:PPT 页数:59 大小:634KB
收藏 版权申诉 举报 下载
《田MATLAB符号运算》PPT课件_第1页
第1页 / 共59页
《田MATLAB符号运算》PPT课件_第2页
第2页 / 共59页
《田MATLAB符号运算》PPT课件_第3页
第3页 / 共59页
资源描述:

《《田MATLAB符号运算》PPT课件》由会员分享,可在线阅读,更多相关《《田MATLAB符号运算》PPT课件(59页珍藏版)》请在装配图网上搜索。

1、12本章目标l理解符号运算的有关概念理解符号运算的有关概念l掌握使用符号运算解决符号推导、微积分、方掌握使用符号运算解决符号推导、微积分、方程等问题的方法程等问题的方法3主要内容l2.8 数值运算与符号运算数值运算与符号运算l2.9 符号变量和符号表达式符号变量和符号表达式l2.10 符号表示式的运算符号表示式的运算l2.11 微积分微积分l2.12 方程求解方程求解4l在前面的章节中,我们已介绍了在前面的章节中,我们已介绍了MATLAB在数在数值运算的能力,接著我们再说明另一种不同的值运算的能力,接著我们再说明另一种不同的运算法运算法符号数学符号数学(symbolic mathematic)

2、。在示范如何定义一个符号表示式后,将讨论用在示范如何定义一个符号表示式后,将讨论用以简化数学式的符号函数。除此之外,我以简化数学式的符号函数。除此之外,我 们还们还要说明如何利用符号运算解微分方程式、积分要说明如何利用符号运算解微分方程式、积分和微分。和微分。5l什么是符号数学?顾名思义,符号数学是以符什么是符号数学?顾名思义,符号数学是以符号号(如如a,b,c,x,y,z)为对象的数学,区别于为对象的数学,区别于以数字为对象的以数字为对象的MATLAB基本部分。一般我们基本部分。一般我们做运算时多半是以数值做运算,例如一算式就做运算时多半是以数值做运算,例如一算式就是以数值运算;如果是是以数

3、值运算;如果是a除除b这个算式这个算式,我门知,我门知道改以分数做运算就可得到正确解道改以分数做运算就可得到正确解,而无因舍而无因舍未造未造 成的误差。符号运算即是能以分数做运算,成的误差。符号运算即是能以分数做运算,而无须转换成数值再运算。再举一例,我们皆而无须转换成数值再运算。再举一例,我们皆知知cos(x)微分得到微分得到 sin(x),这样的数学式你是无,这样的数学式你是无法用数值做运算。当然符号数学能运算复杂的法用数值做运算。当然符号数学能运算复杂的数学式,这也是我们使用它的目的。数学式,这也是我们使用它的目的。6l数值运算在运算前必须先对变量赋值,再参加数值运算在运算前必须先对变量

4、赋值,再参加运算。运算。l符号运算不需要对变量赋值就可运算,运算结符号运算不需要对变量赋值就可运算,运算结果以标准的符号形式表达。果以标准的符号形式表达。7l在在MATLAB中是将一符号表示式储存唯中是将一符号表示式储存唯一字串一字串(character string),即是以,即是以二个单二个单引号之内的表示式引号之内的表示式来定义其为来定义其为 一符号式,一符号式,例如:例如:ltan(y/x),lx3-2*x2+3,l1/(cos(angle)+2)的三个式子。的三个式子。82.9 符号变量和符号表达式l建立符号对象建立符号对象1建立符号变量和符号常量建立符号变量和符号常量 MATLAB

5、提供了两个建立符号对象的函数:提供了两个建立符号对象的函数:sym和和syms,两个函数的用法不同。两个函数的用法不同。(1)sym 函数函数 sym函数用来建立单个符号量,一般调用格式为:函数用来建立单个符号量,一般调用格式为:符号量名符号量名=sym(符号字符串符号字符串)该函数可以建立一个符号量,符号字符串可以是常量、变该函数可以建立一个符号量,符号字符串可以是常量、变量、函数或表达式。量、函数或表达式。应用应用sym函数还可以定义符号常量,使用符号常量进函数还可以定义符号常量,使用符号常量进行代数运算时和数值常量进行的运算不同。行代数运算时和数值常量进行的运算不同。92.9 符号变量和

6、符号表达式(2)syms 函数函数 函数函数sym一次只能定义一个符号变量,使用一次只能定义一个符号变量,使用不方便。不方便。MATLAB提供了另一个函数提供了另一个函数syms,一一次可以定义次可以定义多个符号变量多个符号变量。syms函数的一般调用函数的一般调用格式为:格式为:syms 符号变量名符号变量名1 符号变量名符号变量名2 符号变符号变量名量名n 用这种格式定义符号变量时不要在变量名上用这种格式定义符号变量时不要在变量名上加字符串分界符加字符串分界符(),变量间用,变量间用空格空格而不要用而不要用逗逗号号分隔。分隔。102.9 符号变量和符号表达式2建立符号表达式建立符号表达式

7、含有符号对象的表达式称为含有符号对象的表达式称为符号表达式符号表达式。建。建立符号表达式有以下立符号表达式有以下3种方法:种方法:(1)利用单引号来生成符号表达式。利用单引号来生成符号表达式。(2)用用sym函数建立符号表达式。函数建立符号表达式。(3)使用已经定义的符号变量组成符号表达式。使用已经定义的符号变量组成符号表达式。112.9 符号变量和符号表达式l符号变量和符号表达式在符号变量和符号表达式在使用前使用前必须说明必须说明lsym函数函数f=sym(a*x2+b*x+c)%创建符号变量创建符号变量 f和一个符号表达式和一个符号表达式l首先要对符号变量作出定义,此语句就定义了首先要对符

8、号变量作出定义,此语句就定义了f是是一个字符串变量,此后键入的算式一个字符串变量,此后键入的算式y=3*f2+5*f+2,或或 z=sin(f)就具有了符号函数的意义,就具有了符号函数的意义,y和和z也自然成为字符也自然成为字符串变量。串变量。122.9 符号变量和符号表达式l符号变量和符号表达式在符号变量和符号表达式在使用前使用前必须说明必须说明lsyms函数函数 如果一个数学符号表示式中有多个符号,如果一个数学符号表示式中有多个符号,如如 z=a*t2+b*t+c 可以用多个符号变量定义语可以用多个符号变量定义语句放在此式前面。句放在此式前面。clear syms a b c t whos

9、 Name Size Bytes Class a 1x1 126 sym object b 1x1 126 sym object c 1x1 126 sym object t 1x1 126 sym object132.10 符号表示式的运算l2.10.1 算术运算或四则运算算术运算或四则运算 1 符号表达式的加、减、乘、除运算可分别由函数符号表达式的加、减、乘、除运算可分别由函数symadd、symsub、symmul和和symdiv来实现,幂运算可以由来实现,幂运算可以由sympow来实现。来实现。clear f1=sym(1/(a-b);f2=sym(2*a/(a+b);f3=sym(a

10、+1)*(b-1)*(a-b);f1+f2%符号和符号和ans=1/(a-b)+2*a/(a+b)f1*f3%符号积符号积ans=(a+1)*(b-1)f1/f3%符号商符号商ans=1/(a-b)2/(a+1)/(b-1)142.10 符号表示式的运算l算术运算算术运算2符号表达式的提取符号表达式的提取分子分子和和分母分母运算运算 如果符号表达式是一个有理分式或可以展开如果符号表达式是一个有理分式或可以展开为有理分式,可利用为有理分式,可利用numden函数来提取符号表函数来提取符号表达式中的分子或分母。其一般调用格式为:达式中的分子或分母。其一般调用格式为:n,d=numden(s)该函数

11、提取符号表达式该函数提取符号表达式s的分子和分母,分别将它的分子和分母,分别将它们存放在们存放在n与与d中。中。152.10 符号表示式的运算l算术运算算术运算3符号表达式的因式分解与展开符号表达式的因式分解与展开MATLAB提供了符号表达式的因式分解与展开的提供了符号表达式的因式分解与展开的函数,函数的调用格式为:函数,函数的调用格式为:factor(s):对符号表达式对符号表达式 s 分解因式分解因式。expand(s):对符号表达式对符号表达式 s 进行进行展开展开。collect(s):对符号表达式对符号表达式 s 合并同类项合并同类项。collect(s,v):对符号表达式对符号表达

12、式 s 按变量按变量v合并同类项合并同类项。162.10.2 函数运算l1化简函数化简函数lsimplify函数:利用代数中的函数规则对表达式进行化简;函数:利用代数中的函数规则对表达式进行化简;l2反函数反函数lfinverse(f,v)对指定自变量为对指定自变量为v的函数的函数f(v)求反函数求反函数l3复合函数复合函数lcompose(f,g)求求f=f(x)和和g=g(y)的复合函数的复合函数f(g(y)lcompose(f,g,z)求求 f=f(x)和和g=g(y)的复合函数的复合函数f(g(z)l4表达式替换函数表达式替换函数lsubs(s)用赋值语句中给定值替换表达式中所有同名变

13、量用赋值语句中给定值替换表达式中所有同名变量 lsubs(s,old,new)用符号或数值变量用符号或数值变量new替换替换s中的符号变量中的符号变量old17例1factor(f2)%分解因式分解因式ans=(a-1)*(a2+a+1)m,n=numden(f3)%m为分为分子,子,n为分母为分母m=1+2*a+3*a2+4*a3+5*a4n=a4 simplify(f4)ans=1clear f1=sym(exp(x)+x)*(x+2);f2=sym(a3-1);f3=sym(1/a4+2/a3+3/a2+4/a+5);f4=sym(sin(x)2+cos(x)2);collect(f1)

14、%合并同类项合并同类项ans=x2+(exp(x)+2)*x+2*exp(x)expand(f1)%展开展开ans=exp(x)*x+2*exp(x)+x2+2*x18clearsyms x yfinverse(1/tan(x)%求反函数,自变量为求反函数,自变量为x ans=atan(1/x)f=x2+y;finverse(f,y)%求反函数,自变量为求反函数,自变量为yans=-x2+y clearsyms x y z t u;f=1/(1+x2);g=sin(y);h=xt;p=exp(-y/u);compose(f,g)%求求f=f(x)和和 g=g(y)的复合函数的复合函数f(g(y

15、)ans=1/(1+sin(y)2)例219clearsyms a bsubs(a+b,a,4)%用用4替代替代a+b中的中的aans=4+bsubs(cos(a)+sin(b),a,b,sym(alpha),2)%多重替换多重替换ans=cos(alpha)+sin(2)f=sym(x2+3*x+2)f=x2+3*x+2 subs(f,x,2)%求解求解f当当x=2时的值时的值ans=12例3202.10.2 函数运算l5符号表达式中变量的确定符号表达式中变量的确定MATLAB中的符号可以表示符号变量和符号常量。中的符号可以表示符号变量和符号常量。findsym可以帮助用户查找一个符号表达式

16、中的可以帮助用户查找一个符号表达式中的的符号变量。该函数的调用格式为:的符号变量。该函数的调用格式为:findsym(s,n)函数返回符号表达式函数返回符号表达式s中的中的n个符号变量,若没有个符号变量,若没有指定指定n,则返回则返回s中的全部符号变量。中的全部符号变量。212.10.2 函数运算l6.符号矩阵符号矩阵符号矩阵也是一种符号表达式,所以前面介绍的符号表达符号矩阵也是一种符号表达式,所以前面介绍的符号表达式运算都可以在矩阵意义下进行。但应式运算都可以在矩阵意义下进行。但应注意这些函数作注意这些函数作用于符号矩阵时,是分别作用于矩阵的每一个元素用于符号矩阵时,是分别作用于矩阵的每一个

17、元素。由于符号矩阵是一个矩阵,所以符号矩阵还能进行有关矩由于符号矩阵是一个矩阵,所以符号矩阵还能进行有关矩阵的运算。阵的运算。MATLAB还有一些专用于符号矩阵的函数,还有一些专用于符号矩阵的函数,这些函数作用于单个的数据无意义。例如这些函数作用于单个的数据无意义。例如transpose(s):返回返回s矩阵的转置矩阵。矩阵的转置矩阵。determ(s):返回返回s矩阵的行列式值。矩阵的行列式值。其实,曾介绍过的许多应用于数值矩阵的函数,如其实,曾介绍过的许多应用于数值矩阵的函数,如diag、triu、tril、inv、det、rank、eig等,也可直接应用于符等,也可直接应用于符号矩阵。号

18、矩阵。222.11 微积分l极限极限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。232.11 微

19、积分l极限极限(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。242.11 微积

20、分l极限极限252.11 微积分l极限极限例例4 求下列极限。求下列极限。极限极限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)/a262.11 微积分l极限极限例例4 求下列极限。求下列极限。极限极限2:syms x t;limit(1+2*t/x)(3*x),x,inf)ans=exp(6*t)272.11 微积分l极限极限极限极限3:syms x;f=x*(sqrt(x2+1)-x);limit(f,x,inf,lef

21、t )ans=1/2282.11 微积分l极限极限极限极限4:syms x;f=(sqrt(x)-sqrt(2)-sqrt(x-2)/sqrt(x*x-4);limit(f,x,2,right)ans=-1/229例5 clear syms a x limit(1/x,x,0)ans=NaN limit(1/x,x,0,left)ans=-Inf limit(1/x,x,0,right)ans=Inf limit(x+a)/(x-a)x,Inf)302.11.2 微分l符号导数符号导数diff函数用于对符号表达式求微分。该函数的一般调用格函数用于对符号表达式求微分。该函数的一般调用格式为:式为

22、:(1)diff(t):没有指定变量和导数微分,则系统按没有指定变量和导数微分,则系统按findsym函数指示的默认变量对符号表达式函数指示的默认变量对符号表达式f求一阶微分。求一阶微分。(2)diff(f,t):以以t为自变量,对符号表达式为自变量,对符号表达式f求一阶微分。求一阶微分。(3)diff(f,n):按按findsym函数指示的默认变量对符号表达函数指示的默认变量对符号表达式式f求求n阶微分,阶微分,n为正整数。为正整数。(4)diff(f,t,n):以以t为自变量,对符号表达式为自变量,对符号表达式f求求n阶微分。阶微分。31例632例6332.11.3 积分l符号积分符号积分

23、符号积分由函数符号积分由函数int来实现。该函数的一般调用格式为:来实现。该函数的一般调用格式为:(1)int(f):没有指定积分变量和积分阶数时,系统按没有指定积分变量和积分阶数时,系统按findsym函数指示的默认变量对被积函数或符号表达式函数指示的默认变量对被积函数或符号表达式f求不定积分。求不定积分。(2)int(f,t):以以t为自变量,对被积函数或符号表达式为自变量,对被积函数或符号表达式f求求不定积分。不定积分。(3)int(f,t,a,b):int(f,a,b)求定积分运算。求定积分运算。a,b分别表示分别表示定积分的下限和上限。该函数求被积函数在区间定积分的下限和上限。该函数

24、求被积函数在区间a,b上上的定积分。的定积分。a和和b可以是两个具体的数,也可以是一个符可以是两个具体的数,也可以是一个符号表达式,还可以是无穷号表达式,还可以是无穷(inf)。当函数当函数f关于变量关于变量t在闭在闭区间区间a,b上可积时,函数返回一个定积分结果。当上可积时,函数返回一个定积分结果。当a,b中有一个是中有一个是inf时,函数返回一个广义积分。当时,函数返回一个广义积分。当a,b中有中有一个符号表达式时,函数返回一个符号函数。一个符号表达式时,函数返回一个符号函数。342.11.3 积分352.11.3 积分362.11.3 积分l积分变换积分变换 常见的积分变换有傅立叶变换、

25、拉普拉斯变常见的积分变换有傅立叶变换、拉普拉斯变换和换和Z变换。变换。1傅立叶傅立叶(Fourier)变换变换 在在MATLAB中,进行傅立叶变换的函数是:中,进行傅立叶变换的函数是:fourier(f,x,t):求函数求函数f(x)的傅立叶像函数的傅立叶像函数F(t)。ifourier(F,t,x):求傅立叶像函数求傅立叶像函数F(t)的原函数的原函数f(x)。372拉普拉斯拉普拉斯(Laplace)变换变换 在在MATLAB中,进行拉普拉斯变换的函数是:中,进行拉普拉斯变换的函数是:laplace(fx,x,t):求函数求函数f(x)的拉普拉斯像函数的拉普拉斯像函数F(t)。ilaplac

26、e(Fw,t,x):求拉普拉斯像函数求拉普拉斯像函数F(t)的原函数的原函数f(x)。例例 计算计算y=x3的拉普拉斯变换及其逆变换。的拉普拉斯变换及其逆变换。2.11.3 积分383Z变换变换当函数当函数f(x)呈现为一个离散的数列呈现为一个离散的数列f(n)时,对数列时,对数列f(n)进行进行z变换的变换的MATLAB函数是:函数是:ztrans(fn,n,z):求求fn的的Z变换像函数变换像函数F(z)。iztrans(Fz,z,n):求求Fz的的z变换原函数变换原函数f(n)。例例 求数列求数列 fn=e-2n的的Z变换及其逆变换。变换及其逆变换。2.11.3 积分392.11.3 积

27、分l 级级 数数1 级数符号求和级数符号求和求无穷级数的和需要符号表达式求和函数求无穷级数的和需要符号表达式求和函数symsum,其调用格式为:其调用格式为:symsum(s,v,n,m)其中其中s表示一个级数的通项,是一个符号表达式。表示一个级数的通项,是一个符号表达式。v是求和变量,是求和变量,v省略时使用系统的默认变量。省略时使用系统的默认变量。n和和m是求和的开始项和末项。是求和的开始项和末项。402 函数的泰勒级数函数的泰勒级数MATLAB提供了提供了taylor函数将函数展开为幂级数,函数将函数展开为幂级数,其调用格式为:其调用格式为:taylor(f,v,n,a)该函数将函数该函

28、数将函数f按变量按变量v展开为泰勒级数,展开到展开为泰勒级数,展开到第第n项项(即变量即变量v的的n-1次幂次幂)为止,为止,n的缺省值为的缺省值为6。v的缺省值与的缺省值与diff函数相同。参数函数相同。参数a指定将函数指定将函数f在自变量在自变量v=a处展开,处展开,a的缺省值是的缺省值是0。2.11.3 积分412.12 方程求解l 符号方程求解符号方程求解 符号代数方程求解符号代数方程求解在在MATLAB中,求解用符号表达式表示的代数方程中,求解用符号表达式表示的代数方程可由函数可由函数solve实现,其调用格式为:实现,其调用格式为:(1)solve(s):求解符号表达式求解符号表达

29、式s的代数方程,求解变的代数方程,求解变量为默认变量。量为默认变量。(2)solve(s,v):求解符号表达式求解符号表达式s的代数方程,求解的代数方程,求解变量为变量为v。422.12 方程求解l2.12.2 代数方程组代数方程组l代数方程的求解由函数代数方程的求解由函数solve实现:实现:l(1)solve(f1,fn)求解由求解由f1,fn组成的代数方程组组成的代数方程组 l(2)solve(s1,s2,sn,v1,v2,vn):求解符号求解符号表达式表达式s1,s2,sn组成的代数方程组,求解变量分别组成的代数方程组,求解变量分别v1,v2,vn。l2.12.3 常微分方程常微分方程

30、l使用函数使用函数dsolve来求解常微分方程:来求解常微分方程:ldsolve(eq1,eq2,.,cond1,cond2,.,v)43例8 syms a b c x f=sym(a*x*x+b*x+c=0)solve(f)ans=1/2/a*(-b+(b2-4*c*a)(1/2)1/2/a*(-b-(b2-4*c*a)(1/2)solve(1+x=sin(x)ans=44例8dsolve(Dy=x,x)%求微分方程求微分方程y=x的通解,指定的通解,指定x为自变量。为自变量。ans=1/2*x2+C1dsolve(D2y=1+Dy,y(0)=1,Dy(0)=0)%求微分方程求微分方程y=1

31、+y 的解,加初始条件的解,加初始条件ans=-t+exp(t)x,y=dsolve(Dx=y+x,Dy=2*x)%微分方程组的通解微分方程组的通解x=-1/2*C1*exp(-t)+C2*exp(2*t)y=C1*exp(-t)+C2*exp(2*t)45扩展阅读l2.13 任意精度计算任意精度计算l2.14 符号表达式绘图符号表达式绘图l2.15 Maple接口接口46应用举例47应用举例48应用举例49应用举例50应用举例51应用举例52应用举例-6-4-2024050100150200250texp(-t)sin(t)+exp(-t)cos(t)53应用举例54应用举例-6-4-2024050100150200250texp(-t)sin(t)+exp(-t)cos(t)55应用举例56应用举例57应用举例58作业:2-2 求解线形方程组求下列线性方程式的根求下列线性方程式的根 2X1 +X2 -X3=53X1 -2X2 +2X3=55X1-3X2 -X3=16 59l学好学好Matlab的唯一途径是的唯一途径是 l你的你的Matlab编程能力与你在计算机上投入的编程能力与你在计算机上投入的时间成时间成 结 束 语

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

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


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