




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
——matlab
不仅具有数值运算功能,还开发了在matlab环境下实现符号计算的工具包SymbolicMathToolbox主要内容7.1符号计算基础7.2符号函数及其应用7.3符号积分7.4级数第7章MATLAB符号计算科学计算可分为两类:一类是纯数值的计算,例如求函数的值,以及方程的数值解等等;另一类计算是符号运算,又称代数运算,这是一种智能化的计算,处理的是符号。符号可以代表整数、有理数、实数和复数,也可以代表多项式、函数,还可以代表数学结构,如集合、群的表示等等。我们在数学的教学和研究中进行的数学运算多为符号运算。MATLAB中的符号数学工具箱(SymbolicMathToolbox)集成了丰富的符号运算功能。基本的符号数学工具箱包含100多个MATLAB函数,包括的内容有:微积分、线性代数、化简代数表达式、方程求解、特殊的数学函数、变量精度算法和数学变换等等。工具箱中所有的符号表达式的计算都是在Maple内核下执行的。Maple是一种功能强大、通用的数学和工程软件,是世界上最值得信赖、最完整的数学软件之一。其中的符号运算功能尤为突出。Maple系统最先主要由加拿大的沃特卢大学(UniversityofWaterloo)开发的,后来由瑞士的一个技术部门发展,最终由WaterlooMaple公司商业化运作。什么是符号运算 直接对抽象的符号对象进行计算,并将所得结果以标准的符号形式来表示。
2.与数值运算的区别
※
数值运算中必须先对变量赋值,然后才能参与运算。
※
符号运算无须事先对独立变量赋值,运算结果以标准的符号形式表达。 特点:运算对象可以是没赋值的符号变量可以获得任意精度的解SymbolicMathToolbox——符号运算工具包通过调用Maple软件实现符号计算的。maple软件——主要功能是符号运算,它占据符号软件的主导地位。7.1符号计算基础7.1.1符号对象1.建立符号变量和符号常量MATLAB提供了两个建立符号对象的函数:sym和syms,两个函数的用法不同。(1)sym函数sym函数用来建立单个符号量,一般调用格式为:符号量名=sym('符号字符串')该函数可以建立一个符号量,符号字符串可以是常量、变量、函数或表达式。sym函数还可以定义符号常量,使用符号常量进行代数运算时和数值常量进行的运算不同。(2)syms函数MATLAB提供了另一个函数syms,一次可以定义多个符号变量。syms函数的一般调用格式为:syms
符号变量名1符号变量名2…符号变量名n用这种格式定义符号变量时不要在变量名上加字符串分界符(’),变量间用空格而不要用逗号分隔。x=sym('x')symsabcxf=a*x^2+b*x+c2.建立符号表达式含有符号对象的表达式称为符号表达式。建立符号表达式有以下3种方法:(1)利用单引号来生成符号表达式。
z='(1+sqrt(5))/2'(2)用sym函数建立符号表达式。
z=sym('(1+sqrt(5))/2')(3)使用已经定义的符号变量组成符号表达式。symsabcxf=a*x^2+b*x+c7.1.2符号表达式运算1.符号表达式的四则运算符号表达式的加、减、乘、除运算可分别由函数symadd、symsub、symmul和symdiv来实现,幂运算可以由sympow来实现。f=‘2*x^2+3*x-5’g=‘x^2-x+7symadd(f,g)symmul(f,g)symdiv(f,g)2.符号表达式的提取分子和分母运算如果符号表达式是一个有理分式或可以展开为有理分式,可利用numden函数来提取符号表达式中的分子或分母。其一般调用格式为:[n,d]=numden(s)该函数提取符号表达式s的分子和分母,分别将它们存放在n与d中。symsxyf=x/y+y/x;[n,d]=numden(f)3.符号表达式的因式分解与展开MATLAB提供了符号表达式的因式分解与展开的函数,函数的调用格式为:factor(s):对符号表达式s分解因式。expand(s):对符号表达式s进行展开。collect(s):对符号表达式s合并同类项。collect(s,v):对符号表达式s按变量v合并同类项。【例】对表达式f=a^3-1进行因式分解。输入:f=sym('a^3-1');factor(f)结果为:ans=(a-1)*(a^2+a+1)【例】展开表达式f=(x+1)^5和f=sin(x+y)输入:symsxyf=(x+1)^5;expand(f)f=sin(x+y);expand(f)返回结果为:ans=x^5+5*x^4+10*x^3+10*x^2+5*x+1ans=sin(x)*cos(y)+cos(x)*sin(y)【例】符号多项式的同类项合并。输入:f=sym('(exp(x)+x)*(x+2)*(y+1)');c1=collect(f)c2=collect(f,y)c3=collect(f,exp(x))返回结果为:c1=(y+1)*x^2+(exp(x)+2)*(y+1)*x+2*exp(x)*(y+1)c2=(exp(x)+x)*(x+2)*y+(exp(x)+x)*(x+2)c3=(x+2)*(y+1)*exp(x)+x*(x+2)*(y+1)我们分别按不同的变量进行同类项合并,得到了不同的结果。4.符号表达式的化简MATLAB提供的对符号表达式化简的函数有:simplify(s):应用函数规则对s进行化简。simple(s):调用MATLAB的其他函数对表达式进行综合化简,并显示化简过程。f=sym('sin(x)^2+cos(x)^2');S=sym('exp(c*log(sqrt(a+b)))');simplify(f)simplify(S)5.符号表达式与数值表达式之间的转换利用函数sym可以将数值表达式变换成它的符号表达式。sym(1.5)函数numeric或eval可以将符号表达式变换成数值表达式。z='(1+sqrt(5))/2’numeric(z)7.1.3符号表达式中变量的确定MATLAB中的符号可以表示符号变量和符号常量。findsym可以帮助用户查找一个符号表达式中的的符号变量。该函数的调用格式为:findsym(s,n)函数返回符号表达式s中的n个符号变量,若没有指定n,则返回s中的全部符号变量。例:symsxayzb;s1=3*x+y;findsym(s1)7.1.4符号矩阵符号矩阵也是一种符号表达式,所以前面介绍的符号表达式运算都可以在矩阵意义下进行。但应注意这些函数作用于符号矩阵时,是分别作用于矩阵的每一个元素。A=sym('[a,b;c,d]')>>symsxyz>>B=[x+3*x,5*z+6*z;y-y,z/z]由于符号矩阵是一个矩阵,所以符号矩阵还能进行有关矩阵的运算。transpose(s):返回s矩阵的转置矩阵。determ(s):返回s矩阵的行列式值。其实,许多应用于数值矩阵的函数,如diag、triu、tril、inv、det、rank、eig等,也可直接应用于符号矩阵。7.2符号函数及其应用7.2.1符号极限MATLAB中求函数极限的函数是limit,调用格式为: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。例
求下列极限。极限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/27.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阶导数。>>S1=sym('6*x^3-4*x^2+b*x-5');>>S2=sym('sin(a)');>>S3=sym('(1-t^3)/(1+t^4)');>>diff(S1)ans=18*x^2-8*x+b
>>diff(S1,2)
ans=36*x-8>>diff(S1,'b')ans=x>>diff(S2)ans=cos(a)7.3符号积分符号积分由函数int来实现。该函数的一般调用格式为:int(s):没有指定积分变量和积分阶数时,系统按findsym函数指示的默认变量对被积函数或符号表达式s求不定积分。int(s,v):以v为自变量,对被积函数或符号表达式s求不定积分。int(s,v,a,b):求定积分运算。a,b分别表示定积分的下限和上限。该函数求被积函数在区间[a,b]上的定积分。【例6-24】分别计算积分表达式依次输入以下语句:symsxzf=-2*x/(1+x^2)^2;int(f)f=x/(1+z^2);int(f)int(f,z)f=x*log(1+x);int(f,0,1)7.3.2积分变换常见的积分变换有傅立叶变换、拉普拉斯变换和Z变换。1.傅立叶(Fourier)变换在MATLAB中,进行傅立叶变换的函数是:fourier(f,x,t):求函数f(x)的傅立叶像函数F(t)。ifourier(F,t,x):求傅立叶像函数F(t)的原函数f(x)。symsxf=sin(x)*exp(-x^2);F1=fourier(f)2.拉普拉斯(Laplace)变换在MATLAB中,进行拉普拉斯变换的函数是:laplace(fx,x,t):求函数f(x)的拉普拉斯像函数F(t)。ilaplace(Fw,t,x):求拉普拉斯像函数F(t)的原函数f(x)。symsxstvf1=sqrt(t);L1=laplace(f)f2=1/sqrt(s);L2=laplace(f2)3.Z变换当函数f(x)呈现为一个离散的数列f(n)时,对数列f(n)进行z变换的MATLAB函数是:ztrans(fn,n,z):求fn的Z变换像函数F(z)。iztrans(Fz,z,n):求Fz的z变换原函数f(n)。symsakwxnzf4=exp(k*n^2)*cos(k*n);ZF4=ztrans(f4,k,x)7.4级数7.4.1级数符号求和求无穷级数的和需要符号表达式求和函数symsum,其调用格式为:
symsum(s,v,n,m)其中s表示一个级数的通项,是一个符号表达式。v是求和变量,v省略时使用系统的默认变量。n和m是求和的开始项和末项。例:s1=1+1/4+1/9+….+1/n2+….n=sym(‘n’);s1=symsum(1/n^2,n,1,inf)S1=1/6*pi^27.5符号方程求解
7.5.1符号代数方程求解在MATLAB中,求解用符号表达式表示的代数方程可由函数solve实现,其调用格式为:solve(s):求解符号表达式s的代数方程,求解变量为默认变量。solve(s,v):求解符号表达式s的代数方程,求解变量为v。solve(s1,s2,…,sn,v1,v2,…,vn):求解符号表达式s1,s2,…,sn组成的代数方程组,求解变量分别v1,v2,…,vn。【例】求一元二次方程a*x^2+b*x+c=0的根.>>f=sym('a*x^2+b*x+c');>>solve(f)%以x为自变量,求解方程f=0ans=1/2/a*(-b+(b^2-4*a*c)^(1/2))1/2/a*(-b-(b^2-4*a*c)^(1/2))>>solve(f,a)%以a为自变量,求解方程f=0ans=-(b*x+c)/x^2【例】求三元非线性方程组的解。>
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建设工程招标范围和标准学习情境二建设工程招标课件
- 钢筋的连接钢筋连接的原则接头应尽量设置在受力较小处以降低接头对钢筋传力的影响
- 小区合租转租合同范本
- 晋中信息学院《超声检查技术》2023-2024学年第二学期期末试卷
- 合肥城市学院《企业文化研究》2023-2024学年第二学期期末试卷
- 跨国银行的内部审计与合规监管探讨
- 辽宁中医药大学杏林学院《水环境与生态学基础》2023-2024学年第二学期期末试卷
- 2024-2025学年甘南藏族自治州碌曲县三年级数学第二学期期末联考模拟试题含解析
- 西安科技大学高新学院《音乐教学与技能训练》2023-2024学年第二学期期末试卷
- 2025届湖北省小学小升初总复习数学测试卷含解析
- 中央2025年中国科协所属单位招聘社会在职人员14人笔试历年参考题库附带答案详解-1
- 2024年湖北省联合发展投资集团有限公司人员招聘考试题库及答案解析
- 造价咨询服务方案进度计划安排及保证措施
- 2024年全国统一高考英语试卷(新课标Ⅰ卷)含答案
- 2024年认证行业法律法规及认证基础知识 CCAA年度确认 试题与答案
- 穿孔铝板技术交底
- 第三章社科信息检索原理与技术PPT课件
- 危大工程管理细则(广西区规定)
- HALCON手册简体中文版
- 声学原理及声学测试
- 机构占比分时指标(升级版)源码作者:罗克hq
评论
0/150
提交评论