MATLAB符号运算与符号方程求解.ppt

上传人:s****8 文档编号:67180830 上传时间:2022-12-24 格式:PPT 页数:23 大小:79KB
返回 下载 相关 举报
MATLAB符号运算与符号方程求解.ppt_第1页
第1页 / 共23页
MATLAB符号运算与符号方程求解.ppt_第2页
第2页 / 共23页
点击查看更多>>
资源描述

《MATLAB符号运算与符号方程求解.ppt》由会员分享,可在线阅读,更多相关《MATLAB符号运算与符号方程求解.ppt(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、MATLAB符号计算符号计算1 符号对象符号对象2 符号微积分符号微积分3 级级 数数4 符号方程求解符号方程求解9.1 符号对象符号对象9.1.1 建立符号对象建立符号对象1建立符号变量和符号常量建立符号变量和符号常量MATLAB提供了两个建立符号对象的函数:提供了两个建立符号对象的函数:sym和和syms,两个函数的用法不同。两个函数的用法不同。(1)sym函数函数sym函数用来建立单个符号量,一般调用格式为:函数用来建立单个符号量,一般调用格式为:符号量名符号量名=sym(符号字符串符号字符串)该函数可以建立一个符号量,符号字符串可以是常量、该函数可以建立一个符号量,符号字符串可以是常量

2、、变量、函数或表达式。变量、函数或表达式。应用应用sym函数还可以定义符号常量,使用符号常量进行函数还可以定义符号常量,使用符号常量进行代数运算时和数值常量进行的运算不同。下面的命令代数运算时和数值常量进行的运算不同。下面的命令用于比较符号常量与数值常量在代数运算时的差别。用于比较符号常量与数值常量在代数运算时的差别。(2)syms函数函数函数函数sym一次只能定义一个符号变量,使用不方便。一次只能定义一个符号变量,使用不方便。MATLAB提供了另一个函数提供了另一个函数syms,一次可以定义多一次可以定义多个符号变量。个符号变量。syms函数的一般调用格式为:函数的一般调用格式为:syms

3、符号变量名符号变量名1 符号变量名符号变量名2 符号变量名符号变量名n用这种格式定义符号变量时不要在变量名上加字符串分用这种格式定义符号变量时不要在变量名上加字符串分界符界符(),变量间用空格而不要用逗号分隔。,变量间用空格而不要用逗号分隔。2建立符号表达式建立符号表达式含有符号对象的表达式称为符号表达式。建立符号表达式有以下含有符号对象的表达式称为符号表达式。建立符号表达式有以下3种种方法:方法:(1)利用单引号来生成符号表达式。利用单引号来生成符号表达式。(2)用用sym函数建立符号表达式。函数建立符号表达式。(3)使用已经定义的符号变量组成符号表达式。使用已经定义的符号变量组成符号表达式

4、。9.1.2 符号表达式运算符号表达式运算1符号表达式的四则运算符号表达式的四则运算符号表达式的加、减、乘、除运算可分别由函数符号表达式的加、减、乘、除运算可分别由函数symadd、symsub、symmul和和symdiv来实现,幂运算可以由来实现,幂运算可以由sympow来实现。来实现。2符号表达式的提取分子和分母运算符号表达式的提取分子和分母运算如果符号表达式是一个有理分式或可以展开为有理分式,可利用如果符号表达式是一个有理分式或可以展开为有理分式,可利用numden函数来提取符号表达式中的分子或分母。其一般调用格式函数来提取符号表达式中的分子或分母。其一般调用格式为:为:n,d=num

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

6、类项。4符号表达式的化简符号表达式的化简MATLAB提供的对符号表达式化简的函数有:提供的对符号表达式化简的函数有:simplify(s):应用函数规则对应用函数规则对s进行化简。进行化简。simple(s):调用调用MATLAB的其他函数对表达式进行综合化简,并显示的其他函数对表达式进行综合化简,并显示化简过程。化简过程。5符号表达式与数值表达式之间的转换符号表达式与数值表达式之间的转换利用函数利用函数sym可以将数值表达式变换成它的符号表达式。可以将数值表达式变换成它的符号表达式。函数函数numeric或或eval可以将符号表达式变换成数值表达式。可以将符号表达式变换成数值表达式。9.1.

7、3 符号表达式中变量的确定符号表达式中变量的确定MATLAB中的符号可以表示符号变量和符号常量。中的符号可以表示符号变量和符号常量。findsym可以帮助可以帮助用户查找一个符号表达式中的的符号变量。该函数的调用格式为:用户查找一个符号表达式中的的符号变量。该函数的调用格式为:findsym(s,n)函数返回符号表达式函数返回符号表达式s中的中的n个符号变量,若没有指定个符号变量,若没有指定n,则返回则返回s中的中的全部符号变量。全部符号变量。9.1.4 符号矩阵符号矩阵符号矩阵也是一种符号表达式,所以前面介绍的符号表符号矩阵也是一种符号表达式,所以前面介绍的符号表达式运算都可以在矩阵意义下进

8、行。但应注意这些函达式运算都可以在矩阵意义下进行。但应注意这些函数作用于符号矩阵时,是分别作用于矩阵的每一个元数作用于符号矩阵时,是分别作用于矩阵的每一个元素。素。由于符号矩阵是一个矩阵,所以符号矩阵还能进行有关由于符号矩阵是一个矩阵,所以符号矩阵还能进行有关矩阵的运算。矩阵的运算。MATLAB还有一些专用于符号矩阵的函还有一些专用于符号矩阵的函数,这些函数作用于单个的数据无意义。例如数,这些函数作用于单个的数据无意义。例如transpose(s):返回返回s矩阵的转置矩阵。矩阵的转置矩阵。determ(s):返回返回s矩阵的行列式值。矩阵的行列式值。其实,曾介绍过的许多应用于数值矩阵的函数,

9、如其实,曾介绍过的许多应用于数值矩阵的函数,如diag、triu、tril、inv、det、rank、eig等,也可直接应用于等,也可直接应用于符号矩阵。符号矩阵。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)的自变量,则使用该格式时,符号函数的自

10、变量,则使用该格式时,符号函数f(x)的变量为函数的变量为函数findsym(f)确定的默认自变量,即变确定的默认自变量,即变量量x趋近于趋近于a。(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,

11、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)极限极限3:syms x;f=x*(sqrt(x2+1)-x);limit(f,x,inf,left)ans=1

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

13、:按:按findsym函数指示的默认变量对符号表达式函数指示的默认变量对符号表达式s求求n阶导数,阶导数,n为正整数。为正整数。diff(s,v,n):以:以v为自变量,对符号表达式为自变量,对符号表达式s求求n阶导数。阶导数。例例9-2 求下列函数的导数。求下列函数的导数。9.2.3 符号积分符号积分符号积分由函数符号积分由函数int来实现。该函数的一般调用格式为:来实现。该函数的一般调用格式为:int(s):没有指定积分变量和积分阶数时,系统按没有指定积分变量和积分阶数时,系统按findsym函数指示的函数指示的默认变量对被积函数或符号表达式默认变量对被积函数或符号表达式s求不定积分。求不

14、定积分。int(s,v):以:以v为自变量,对被积函数或符号表达式为自变量,对被积函数或符号表达式s求不定积分。求不定积分。int(s,v,a,b):求定积分运算。求定积分运算。a,b分别表示定积分的下限和上限。该函分别表示定积分的下限和上限。该函数求被积函数在区间数求被积函数在区间a,b上的定积分。上的定积分。a和和b可以是两个具体的数,可以是两个具体的数,也可以是一个符号表达式,还可以是无穷也可以是一个符号表达式,还可以是无穷(inf)。当函数当函数f关于变量关于变量x在闭区间在闭区间a,b上可积时,函数返回一个定积分结果。当上可积时,函数返回一个定积分结果。当a,b中有中有一个是一个是i

15、nf时,函数返回一个广义积分。当时,函数返回一个广义积分。当a,b中有一个符号表达式中有一个符号表达式时,函数返回一个符号函数。时,函数返回一个符号函数。例例9-3 求下列积分。求下列积分。9.2.4 积分变换积分变换常见的积分变换有傅立叶变换、拉普拉斯变换和常见的积分变换有傅立叶变换、拉普拉斯变换和Z变换。变换。1傅立叶傅立叶(Fourier)变换变换在在MATLAB中,进行傅立叶变换的函数是:中,进行傅立叶变换的函数是:fourier(f,x,t):求函数求函数f(x)的傅立叶像函数的傅立叶像函数F(t)。ifourier(F,t,x):求傅立叶像函数求傅立叶像函数F(t)的原函数的原函数

16、f(x)。例例9-4 求函数求函数y=的傅立叶变换及其逆变换。的傅立叶变换及其逆变换。2拉普拉斯拉普拉斯(Laplace)变换变换在在MATLAB中,进行拉普拉斯变换的函数是:中,进行拉普拉斯变换的函数是:laplace(fx,x,t):求函数求函数f(x)的拉普拉斯像函数的拉普拉斯像函数F(t)。ilaplace(Fw,t,x):求拉普拉斯像函数求拉普拉斯像函数F(t)的原函数的原函数f(x)。例例9-5 计算计算y=x3的拉普拉斯变换及其逆变换。的拉普拉斯变换及其逆变换。3Z变换变换当函数当函数f(x)呈现为一个离散的数列呈现为一个离散的数列f(n)时,对数列时,对数列f(n)进行进行z变

17、换的变换的MATLAB函数是:函数是:ztrans(fn,n,z):求:求fn的的Z变换像函数变换像函数F(z)。iztrans(Fz,z,n):求:求Fz的的z变换原函数变换原函数f(n)。例例9-6 求数列求数列 fn=e-2n的的Z变换及其逆变换。变换及其逆变换。9.3 级级 数数9.3.1 级数符号求和级数符号求和求无穷级数的和需要符号表达式求和函数求无穷级数的和需要符号表达式求和函数symsum,其调用格式为:其调用格式为:symsum(s,v,n,m)其中其中s表示一个级数的通项,是一个符号表达式。表示一个级数的通项,是一个符号表达式。v是求和变量,是求和变量,v省省略时使用系统的

18、默认变量。略时使用系统的默认变量。n和和m是求和的开始项和末项。是求和的开始项和末项。例例9-7 求下列级数之和。求下列级数之和。9.3.2 函数的泰勒级数函数的泰勒级数MATLAB提供了提供了taylor函数将函数展开为幂级数,其调函数将函数展开为幂级数,其调用格式为:用格式为:taylor(f,v,n,a)该函数将函数该函数将函数f按变量按变量v展开为泰勒级数,展开到第展开为泰勒级数,展开到第n项项(即变量即变量v的的n-1次幂次幂)为止,为止,n的缺省值为的缺省值为6。v的缺省的缺省值与值与diff函数相同。参数函数相同。参数a指定将函数指定将函数f在自变量在自变量v=a处处展开,展开,

19、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):求解符号表

20、达式求解符号表达式s1,s2,sn组成的代数组成的代数方程组,求解变量分别方程组,求解变量分别v1,v2,vn。例例9-9 解下列方程。解下列方程。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)该函数求解常微分方程该函数求解常微

21、分方程e在初值条件在初值条件c下的特解。参数下的特解。参数v描述方程中的描述方程中的自变量,省略时按缺省原则处理,若没有给出初值条件自变量,省略时按缺省原则处理,若没有给出初值条件c,则求方则求方程的通解。程的通解。dsolve在求常微分方程组时的调用格式为:在求常微分方程组时的调用格式为:dsolve(e1,e2,en,c1,cn,v1,vn)该函数求解常微分方程组该函数求解常微分方程组e1,en在初值条件在初值条件c1,cn下的特解,若不下的特解,若不给出初值条件,则求方程组的通解,给出初值条件,则求方程组的通解,v1,vn给出求解变量。给出求解变量。例例9-10 求下列微分方程的解。求下列微分方程的解。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁