第8章-MATLAB符号计算-《MATLAB程序设计教程(第二版)》_第1页
第8章-MATLAB符号计算-《MATLAB程序设计教程(第二版)》_第2页
第8章-MATLAB符号计算-《MATLAB程序设计教程(第二版)》_第3页
第8章-MATLAB符号计算-《MATLAB程序设计教程(第二版)》_第4页
第8章-MATLAB符号计算-《MATLAB程序设计教程(第二版)》_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第8章

MATLAB符号运算

MATLAB符号对象

MATLAB符号微积分

MATLAB符号级数

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

(2)syms函数函数sym一次只能定义一个符号变量,使用不方便。MATLAB提供了另一个函数syms,一次可以定义多个符号变量。syms函数的一般调用格式为:syms

符号变量名1符号变量名2…符号变量名n用这种格式定义符号变量时不要在变量名上加字符串分界符(‘),变量间用空格而不要用逗号分隔。2.建立符号表达式含有符号对象的表达式称为符号表达式。建立符号表达式有以下3种方法:(1)利用单引号来生成符号表达式。(2)用sym函数建立符号表达式。(3)使用已经定义的符号变量组成符号表达式。8.1.2符号表达式运算1.符号表达式的四则运算符号表达式的四则运算与数值运算一样,用+、-、*、/、^运算符实现,其运算结果依然是一个符号表达式。

2.符号表达式的提取分子和分母运算如果符号表达式是一个有理分式或可以展开为有理分式,可利用numden函数来提取符号表达式中的分子或分母。其一般调用格式为:[n,d]=numden(s)该函数提取符号表达式s的分子和分母,分别将它们存放在n与d中。3.符号表达式的因式分解与展开MATLAB提供了符号表达式的因式分解与展开的函数,函数的调用格式为:factor(s):对符号表达式s分解因式。expand(s):对符号表达式s进行展开。collect(s):对符号表达式s合并同类项。collect(s,v):对符号表达式s按变量v合并同类项。4.符号表达式系数的提取如果符号表达式是一个多项式,可利用coeffs函数来提取符号表达式中的系数。其一般调用格式为c=coeffs(s[,x])该函数返回多项式中按指定变量升幂顺序排列的系数,若没有指定变量,则返回所有项的常系数,且按离字符“x”近原则确定主变量。5.符号表达式的化简MATLAB提供的对符号表达式化简的函数有:simplify(s):应用函数规则对s进行化简。simple(s):调用MATLAB的其他函数对表达式进行综合化简,并显示化简过程。6.符号表达式与数值表达式之间的转换利用函数sym可以将数值表达式变换成它的符号表达式。函数numeric或eval可以将符号表达式变换成数值表达式。7.符号多项式与多项式系数向量之间的转换利用函数sym2poly可以将符号多项式转换为多项式系数向量,而函数poly2sym可以将多项式系数向量转换为符号多项式。

8.1.3符号表达式中变量的确定MATLAB中的符号可以表示符号变量和符号常量。findsym可以帮助用户查找一个符号表达式中的的符号变量。该函数的调用格式为:findsym(s,n)函数返回符号表达式s中的n个符号变量,若没有指定n,则返回s中的全部符号变量。8.1.4符号矩阵符号矩阵也是一种符号表达式,所以前面介绍的符号表达式运算都可以在矩阵意义下进行。但应注意这些函数作用于符号矩阵时,是分别作用于矩阵的每一个元素。由于符号矩阵是一个矩阵,所以符号矩阵还能进行有关矩阵的运算。MATLAB还有一些专用于符号矩阵的函数,这些函数作用于单个的数据无意义。例如transpose(s):返回s矩阵的转置矩阵。determ(s):返回s矩阵的行列式值。其实,曾介绍过的许多应用于数值矩阵的函数,如diag、triu、tril、inv、det、rank、eig等,也可直接应用于符号矩阵。8.2符号微积分8.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)limit(f,x,a,'right'):求符号函数f的极限值。'right'表示变量x从右边趋近于a。(5)limit(f,x,a,‘left’):求符号函数f的极限值。‘left’表示变量x从左边趋近于a。例8-1求下列极限。极限1:symsamx;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:symsxt;limit((1+2*t/x)^(3*x),x,inf)ans=exp(6*t)极限3:symsx;f=x*(sqrt(x^2+1)-x);limit(f,x,inf,'left')ans=1/2极限4:symsx;f=(sqrt(x)-sqrt(2)-sqrt(x-2))/sqrt(x*x-4);limit(f,x,2,'right')ans=-1/28.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阶导数。例8-2求下列函数的导数。8.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中有一个符号表达式时,函数返回一个符号函数。例8-3求下列积分。8.3级数8.3.1级数符号求和求无穷级数的和需要符号表达式求和函数symsum,其调用格式为:symsum(s,v,n,m)其中s表示一个级数的通项,是一个符号表达式。v是求和变量,v省略时使用系统的默认变量。n和m是求和的开始项和末项。例8-7求下列级数之和。8.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。例8-8求函数在指定点的泰勒级数展开式。8.4符号方程求解8.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。例8-9解下列方程。8.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)该函数求解常微分方

温馨提示

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

评论

0/150

提交评论