




已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章MATLAB的符号运算,5.1符号对象的创建5.2基本的符号运算5.3符号微积分5.4符号方程的求解,5.1符号对象的创建(定义),MATLAB提供了一种数据类型:符号型数据,可以进行符号运算,是符号运算的对象,因此也把符号数据称为符号对象。符号对象可以是符号变量、符号常量、符号表达式或符号矩阵。符号对象要先定义,后引用。如何定义符号变量、符号常量、符号表达式或符号矩阵?,用sym函数、syms函数可以将运算量定义为符号型数据。sym函数syms函数,(一)建立符号变量和符号常数,1、sym函数主要功能:创建单个符号变量。调用形式:符号变量名=sym(符号字符串)将符号字符串创建为一个符号变量,符号变量的值就是该符号字符串,符号字符串可以是常量、变量、函数或表达式。注意:每次调用该函数,只能定义一个符号变量。使用方法举例,a=sym(a)%将a创建为符号变量,以a作为输出变量名a=ab=sym(b)x=sym(x)y=sym(y)符号变量的名字不一定和字符串中的字母相同例如:m=sym(y)Sym函数可以定义符号常数:k1=sym(9);k2=sym(3);%定义符号变量r1=9;r2=3;%定义数值变量k1+sqrt(k2)%符号计算(精确的数学表达式)ans=9+3(1/2)r1+sqrt(r2)%数值计算(近似为一个有限小数)ans=10.7321,2、syms函数syms函数的功能与sym函数类似。但syms函数可以在一个语句中同时定义多个符号变量,其一般格式为:symsarg1arg2argN将arg1,arg2,argN定义为符号变量。例如:symsabcdxy使用方便、书写简洁、意义清楚,一般提倡使用syms创建符号变量。,(二)定义符号表达式符号表达式由符号变量、函数、算术运算符等组成。符号表达式的书写格式与数值表达式相同。有三种定义方法:用sym函数定义用syms函数定义(用已定义的符号变量组成符号表达式)用单引号定义,f1=sym(3*x2-5*y+2*x*y+6)f1=3*x2-5*y+2*x*y+6symsxy(必须先定义xy)f2=3*x2-5*y+2*x*y+6f2=3*x2-5*y+2*x*y+6f3=3*x2-5*y+2*x*y+6f3=3*x2-5*y+2*x*y+6,例如,将数学表达式定义为符号表达式y=1+sqrt(5*x)/2y=1+sqr(5*x)/2f=sym(1+sqrt(5*x)/2)f=1+sqrt(5*x)/2symsxv=1+sqrt(5*x)/2v=1+1/2*5(1/2)*x(1/2),(三)定义符号矩阵,使用sym和syms函数可以创建符号矩阵,可以直接输入或从数值矩阵转换。,例2:创建一个符号矩阵两种方法,m=sym(a,b;c,d)m=a,bc,dsymsabcdn=a,b;c,dn=a,bc,d,注意:符号矩阵与普通矩阵的区别:命令窗口的显示形式不同;工作空间窗口显示的变量图标不同。,建立符号矩阵Z=sym(a3-b3,sin(alp)2+cos(alp)2;(15*x*y-3*x2)/(x-5*y),78);Z=a3-b3,sin(alp)2+cos(alp)2(15*x*y-3*x2)/(x-5*y),78symsabxyalpZ1=a3-b3,sin(alp)2+cos(alp)2;(15*x*y-3*x2)/(x-5*y),78Z1=a3-b3,sin(alp)2+cos(alp)2(15*x*y-3*x2)/(x-5*y),78,(四)符号表达式中符号变量的确定在数学表达式中,一般习惯于使用排在字母表前面的字母作为变量的系数(常数),而用排在后面的字母(如x,y,z)表示变量。例如:f=ax2+bx+c表达式中,将x看作自变量,a,b,c通常被认为是常数,用作变量的系数。,i,j通常表示虚数单位,在符号运算中不能用作自变量,在MATLAB中引用符号表达式时,有符号常量和符号变量,如何确定谁是符号自变量呢?可以由用户可以指定;若用户没有指定符号变量,则自动使用findsym函数默认的变量作为函数的变量参数。findsym函数的原则为:自变量为在字母顺序排列的位置上最接近x的小写字母(除了i和j之外)。如果式子中没有上述字母,则x会被视为默认的自变量。如下表:,符号表达式默认自变量a*x2+b*x+cx1/(4+cos(t)t4*x/yx2*a+bb2*i+4*jx,查询符号表达式的默认自变量findsym函数可以查询表达式中使用的符号变量个数及变量名。引用格式为:findsym(f,n)说明:f为用户定义的符号函数,n为正整数,表示查询变量的个数。n值省略时表示查询符号函数中全部系统默认变量。,【例3】查询符号函数中的系统默认变量。symsabntx%定义符号变量f=a*xn+b*t;%给定符号表达式findsym(f,1)%在f函数中查询1个系统默认变量ans=x表示f函数中查询的1个系统默认变量为x。findsym(f,2)ans=x,tfindsym(f,5)ans=x,t,n,b,a以最接近x顺序排列的5个默认自变量findsym(f)ans=a,b,n,t,x返回f表达式中按字母顺序排列的全部自变量,5.2基本的符号运算,符号表达式的四则运算2.符号表达式的因式分解、展开、分式通分3.符号表达式的化简,1.符号表达式的四则运算,symadd(f1,f2)f1+f2symsub(f1,f2)f1-f2symmul(f1,f2)f1*f2symdiv(f1,f2)f1/f2sympow(f1,f2)f1f2,f=2*x2+3*x-5g=x2-x+7symadd(f,g)ans=3*x2+2*x+2symsub(f,g)ans=x2+4*x-12symmul(f,g)ans=(2*x2+3*x-5)*(x2-x+7)symdiv(f,g)ans=(2*x2+3*x-5)/(x2-x+7)sympow(f,3*x)ans=(2*x2+3*x-5)(3*x),2.符号表达式的因式分解、展开、分式通分因式分解函数为factor调用格式为:factor(s)举例符号表达式的展开函数为expand调用格式为:expand(s)举例同类项合并函数为collect调用格式为:collect(s,n)举例S为符号表达式,n为要合并系数的自变量符号表达式的分式通分函数为numden调用格式为:n,d=numden(s)举例n为通分后的分子,d为分母,3.符号表达式的化简表达式的化简函数为simple、simplify调用格式为:simplify(s)使用Maple的化简规则化简函数r,how=simple(s)用多种方法寻找符号表达式s的最简型,r为返回的化简形式,how为化简过程使用的主要方法举例,【例1】对表达式进行因式分解symsxf=factor(x9-1)f=(x-1)*(x2+x+1)*(x6+x3+1)pretty(f)%按照类似书写习惯的方式显示(x-1)(x2+x+1)(x6+x3+1)【例2】对大整数12345678901234567890进行因式分解factor(sym(12345678901234567890),【例3】展开表达式和symsxyf=(x+1)5;expand(f)ans=x5+5*x4+10*x3+10*x2+5*x+1f=sin(x+y);expand(f)ans=sin(x)*cos(y)+cos(x)*sin(y),【例4】对表达式分别将自变量x和t的同类项合并symsxtf=x*(x*(x-6)+12)*t;collect(f)ans=t*x3-6*t*x2+12*t*xcollect(f,t)ans=x*(x*(x-6)+12)*t,【例5】对表达式进行通分symsxyf=x/y+y/x;n,d=numden(f)n=x2+y2d=y*x,【例6】对表达式进行化简symsxf=sin(x)2+cos(x)2;simplify(f)ans=1【例7】将表达式用嵌套形式表示。symsxhorner(x3-6*x2+11*x-6)ans=-6+(11+(-6+x)*x)*x,2.符号表达式的替换通过符号替换使表达式的输出形式简化,得到一个简单的表达式符号表达式的替换函数有:subexpr、subs调用格式:y,sigma=subexpr(s,sigma)用变量sigma的值替换表达式s中重复出现的字符串,y返回替换后的结果。调用格式:r=subs(s,old,new)举例用新的符号变量new代替表达式s中的变量old,r为返回替换后的结果。,【例8】分别用新变量替换表达式a+b和表达式中的变量symsabsubs(a+b,a,5)ans=5+bsubs(cos(a)+sin(b),a,b,sym(alpha),2)ans=cos(alpha)+sin(2),1.符号极限函数limit用于求符号函数f的极限。系统可以根据用户要求,计算变量从不同方向趋近于指定值的极限值。该函数的格式及功能:,5.3符号微积分,limit(f,x,a):求符号函数f(x)的极限值。即计算当变量x趋近于常数a时,f(x)函数的极限值。limit(f,a):求符号函数f(x)的极限值。由于没有指定符号函数f(x)的自变量,则使用该格式时,符号函数f(x)的变量为函数findsym(f)确定的默认自变量,即变量x趋近于a。limit(f):求符号函数f(x)的极限值。符号函数f(x)的变量为函数findsym(f)确定的默认变量;没有指定变量的目标值时,系统默认变量趋近于0,即a=0的情况。limit(f,x,a,right):求符号函数f的极限值。right表示变量x从右边趋近于a。limit(f,x,a,left):求符号函数f的极限值。left表示变量x从左边趋近于a。,【例1】求极限symsx;%定义符号变量f=(x*(exp(sin(x)+1)-2*(exp(tan(x)-1)/sin(x)3;%确定符号表达式w=limit(f)%求函数的极限,w=-1/2,符号微分diff函数用于对符号表达式求微分。该函数的一般引用格式为:diff(s,v,n)其中:s为符号表达式,n为正整数,v为变量。说明:diff(s,v,n)或diff(s,n,v)求符号表达式s对于自变量v求n阶微分。diff(s)求符号表达式s对于默认自变量的一阶微分。diff(s,v)求符号表达式s对于自变量v的一阶微分。diff(s,n)求符号表达式s对于默认自变量求n阶微分。,【例2】求下列函数:f=xx的导数和3次导数symsx%定义符号变量f=xxdiff(f)diff(f,3),3符号积分函数int可以实现符号表达式的积分。其引用格式为:int(s,v,a,b)a、b表示定积分运算的下限和上限。int(s,v,a,b)求符号表达式s对于自变量v从a到b的定积分。int(s,a,b)求符号表达式s对于默认自变量从a到b的定积分。int(s)求符号表达式s对于默认自变量的不定积分。int(s,v)求符号表达式s对于自变量v的不定积分。,【例3】求下述积分。求积分:symsxint(1/(1+x2)ans=atan(x),【例4】定义一个符号函数fxy=(a*x2+b*y2)/c2,分别求该函数对x、y的导数和对x的积分。symsabcxy%定义符号变量fxy=(a*x2+b*y2)/c2;%生成符号函数diff(fxy,x)%符号函数fxy对x求导数ans=2*a*x/c2diff(fxy,y)%符号函数fxy对y求导数ans=2*b*y/c2int(fxy,x)%符号函数fxy对x求积分ans=1/c2*(1/3*a*x3+b*y2*x),4.符号求和(级数求和)表达式求和(级数求和)运算是数学中常见的一种运算。函数symsum可以实现表达式求和。该函数的引用时,应确定级数的通项式s,变量的变化范围a和b。该函数的引用格式为:symsum(s,a,b),【例5】求级数的和:1/12+1/22+1/32+1/42+找出通项式:symsksymsum(1/k2,1,Inf)%k值为1到无穷大ans=1/6*pi2其结果为:1/12+1/22+1/32+1/42+=2/6,思考:,5.Taylor级数展开Taylor级数展开由函数taylor实现。其调用格式为:taylor(f):计算表达式f在默认自变量等于0处的5阶Taylor级数展开式。taylor(f,n,v):计算表达式f在默认自变量v=0处的n-1阶Taylor级数展开式。taylor(f,n,v,a):计算表达式f在默认自变量v=a处的n-1阶Taylor级数展开式。,【例6】求表达式的5阶Taylor级数展开式symsxf=1/(5+cos(x)r=taylor(f)r=1/6+1/72*x2,解代数方程(组)的函数为solve格式为:solve(expr)solve(expr,var)solve(expr1,expr2,.,exprN,var1,var2,.varN)solve(expr1,expr2,.,exprN)expr1,expr2,.,exprN为代数方程组,var1,var2,.varN为未知数(自变量)。说明:若不指明符号表达式expr1,expr2,.,exprN的值,系统默认为0。例如给出一个表达式x2-3*x-8,则系统将按x2-3*x-8=0进行运算;故应将等号右侧的数值移过来。,5.4符号方程的求解,1.代数方程求解,【例7】解代数方程:a*x2-b*x-6=0symsabxsolve(a*x2-b*x-6)solve(a*x2-b*x6)ans=1/2/a*(b+(b2+24*a)(1/2)1/2/a*(b-(b2+24*a)(1/2)即该方程有两个根:x1=1/2/a*(b+(b2+24*a)(1/2);x2=1/2/a*(b-(b2+24*a)(1/2),【例8】求解代数方程组,symsxyxf=x2-y2+z-10;g=x+y-5*z;h=2*x-4*y+z;x,y,z=solve(f,g,h)s=solve(f,g,h);s.x,s.y,s.z,x=-19/80+19/240*2409(1/2)-19/80-19/240*2409(1/2)y=-11/80+11/240*2409(1/2)-11/80-11/240*2409(1/2)Z=-3/40+1/
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 经典计算机VB试题及答案分享
- 走向未来2025年法学概论考试试题及答案
- 教师评审职称个人总结(3篇)
- 行政权力的法律限制探讨试题及答案
- 行政法学发展中的伦理争议试题与答案
- 行业监管与经济发展的关系试题及答案
- 高考数学2024年趋势研究与试题及答案
- 行政管理实践中的法律风险及试题与答案
- 大数据技术分析与应用试题及答案
- REST与SOAP API基本差异测试试题及答案
- 3.17 明朝的灭亡和清朝的建立 课件 2024-2025学年统编版七年级历史下册
- 2025年心理b证笔试试题及答案
- 新版事故调查培训
- 肺癌的科普知识
- Qt 5 开发及实例(第5版) 课件 第9章 Qt 5模型-视图及实例
- 全国各地大气压一览表
- 皮肤科护理进修汇报总结
- 《保险营销渠道》课件
- 2025年执业医师定期考核题库及参考答案
- 餐饮合伙人协议合同范本
- 2025年四川凉山州西昌市招聘事业单位工作人员119人历年高频重点提升(共500题)附带答案详解
评论
0/150
提交评论