版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第9章 MATLAB符号计算9.1 符号对象9.2 符号微积分9.3 级 数9.4 符号方程求解19.1 符号对象9.1.1 建立符号对象1建立符号变量和符号常量 MATLAB提供了两个建立符号对象的函数:sym和syms,两个函数的用法不同。(1) sym函数 sym函数用来建立单个符号量,一般调用格式为:符号量名=sym(符号字符串) 该函数可以建立一个符号量,符号字符串可以是常量、变量、函数或表达式。 例如, a=sym(a),用户可以使用变量a进行各种运算.2 应用sym函数还可以定义符号常量,使用符号常量进行代数运算时和数值常量进行的运算不同。下面的命令用于比较符号常量与数值常量在代
2、数运算时的差别。 pi1=sym(pi);k1=sym(8); pi2=pi;k2=8; sin(pi1/3) ans = 1/2*3(1/2) sin(pi2/3) ans = sqrt(k1) sqrt(k2) 0.8660 ( 2*2(1/2) 2.8284 )3(2) syms函数 函数sym一次只能定义一个符号变量,使用不方便。MATLAB提供了另一个函数 syms,一次可以定义多个符号变量。syms函数的一般调用格式为: syms 符号变量名1 符号变量名2 符号变量名n 用这种格式定义符号变量时不要在变量名上加字符串分界符(),变量间用空格而不要用逗号分隔。42建立符号表达式 含
3、有符号对象的表达式称为符号表达式。建立符号表达式有以下3种方法:(1)利用单引号来生成符号表达式。如:y=1/sqrt(2*x) (2)用sym函数建立符号表达式。如:U=sym(3*x2-5*y+2*x*y+6 )(3) 使用已经定义的符号变量组成符号表达式。如:syms x y; V=3*x2-5*y+2*x*y+659.1.2 符号表达式运算1符号表达式的四则运算 符号表达式的加、减、乘、除运算可分别由函数symadd、symsub、symmul和symdiv来实现,幂运算可以由sympow来实现。如, f=2*x2+3*x-5 ; g=x2-x+7 ; symadd(f,g) ans=
4、 3*x2+2*x+2 symmul(f,g) ans= (2*x2+3*x-5) *(x2-x+7)62符号表达式的提取分子和分母运算 如果符号表达式是一个有理分式或可以展开为有理分式,可利用numden函数来提取符号表达式中的分子或分母。其一般调用格式为:n,d=numden(s) 该函数提取符号表达式s的分子和分母,分别将它们存放在n与d中。 (numerator, denominator)73符号表达式的因式分解与展开 MATLAB提供了符号表达式的因式分解与展开的函数,函数的调用格式为:factor(s):对符号表达式s分解因式。expand(s):对符号表达式s进行展开。colle
5、ct(s):对符号表达式s合并同类项。collect(s,v):对符号表达式s按变量v合并同类项。84符号表达式的化简 MATLAB提供的对符号表达式化简的函数有:simplify(s):应用函数规则对s进行化简。simple(s):调用MATLAB的其他函数对表达 式进行综合化简,并显示化简过程。95符号表达式与数值表达式之间的转换 利用函数sym可以将数值表达式变换成它的符号表达式。如, sym(3.14) ans= 157/50 函数numeric或eval可以将符号表达式变换成数值表达式。如, numeric(1+sqrt(5)/2) ans= 1.6180109.1.3 符号表达式中
6、变量的确定 MATLAB中的符号可以表示符号变量和符号常量。findsym可以帮助用户查找一个符号表达式中的的符号变量。该函数的调用格式为:findsym(s,n) 函数返回符号表达式s中的n个符号变量,若没有指定n,则返回s中的全部符号变量。119.1.4 符号矩阵 符号矩阵也是一种符号表达式,所以前面介绍的符号表达式运算都可以在矩阵意义下进行。但应注意这些函数作用于符号矩阵时,是分别作用于矩阵的每一个元素。 由于符号矩阵是一个矩阵,所以符号矩阵还能进行有关矩阵的运算。MATLAB还有一些专用于符号矩阵的函数,这些函数作用于单个的数据无意义。例如transpose(s): 返回s矩阵的转置矩
7、阵。determ(s):返回s矩阵的行列式值。其实,曾介绍过的许多应用于数值矩阵的函数,如diag、triu、tril、inv、det、rank、eig等,也可直接应用于符号矩阵。129.2 符号微积分9.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。13(3) limit(f):求符号函数
8、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。14例9-1 求下列极限:(1) (2)(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
9、(tan(a)+1)/a(2) syms x t; limit(1+2*t/x)(3*x),x,inf) ans = exp(6*t)15(3) (4)(3) syms x; f=x*(sqrt(x2+1)-x); limit(f,x,inf,left) ans = 1/2(4) syms x; f=(sqrt(x)-sqrt(2)-sqrt(x-2)/sqrt(x*x-4); limit(f,x,2,right) ans = -1/2169.2.2 符号导数 diff函数用于对符号表达式求导数。该函数的一般调用格式为:diff(s):没有指定变量和导数阶数,则系统按findsym函数指示的默
10、认变量对符号表达式s求一阶导数。diff(s,v):以v为自变量,对符号表达式s求一阶导数。diff(s,n):按findsym函数指示的默认变量对符号表达式s求n阶导数,n为正整数。diff(s,v,n):以v为自变量,对符号表达式s求n阶导数。17例9-2 求下列函数的导数。(1) y= ,求y (2) y= ,求y ,y (3) ,求y ,y (4) z= ,求zx ,zy syms a b t x y z; f1=sqrt(1+exp(x);diff(f1) %求(1) f2=x*cos(x);diff(f2,x,2) %求(2)中y diff(f2,x,3) %求(2)中y g1=a
11、*cos(t); g2=b*sin(t); diff(g1)/ diff(g2) %求(3)中y , 下行求y (diff(g1)*diff(g2,2)- diff(g1,2)*diff(g2)/ (diff(g1)3 f4=x*exp(y)/y2; diff(f4,x) %求(4)diff(f4,y) %求(4)189.2.3 符号积分符号积分由函数int来实现。该函数的一般调用格式为:int(s):没有指定积分变量和积分阶数时,系统按 findsym函数指示的默认变量对被积函数或符 号表达式s求不定积分。int(s,v):以v为自变量,对被积函数或符号表达式s求 不定积分。int(s,v,
12、a,b):求定积分运算。a,b分别表示定积分的下限和上限。该函数求被积函数在区间a,b上的定积分。a和b可以是两个具体的数,也可以是一个符号表达式,还可以是无穷(inf)。当函数f关于变量x在闭区间a,b上可积时,函数返回一个定积分结果。当a,b中有一个是inf时,函数返回一个广义积分。当a,b中有一个符号表达式时,函数返回一个符号函数。19例9-3 求下列积分。 (2) (4)命令如下: x=sym(x);t=sym(t); int(abs(1-x),1,2) %求(1) 1/2 f=1/(1+x2); int(f,-inf,inf) %求(2) pi f=x3/(x-1)10; I=int
13、(f,2,3) %求(3) 138535/129024 int(4*x/t,t,2,sin(x) %求(4) 4*log(sin(x)*x-4*log(2)*x209.2.4 积分变换 常见的积分变换有傅立叶变换、拉普拉斯变换和Z变换。1傅立叶(Fourier)变换傅立叶变换:逆变换: 在MATLAB中,进行傅立叶变换的函数是:fourier(f,x,t): 求函数f(x)的傅立叶像函数F(t)。ifourier(F,t,x):求傅立叶像函数F(t)的原函数 f(x)。212拉普拉斯(Laplace)变换拉普拉斯变换:逆变换:在MATLAB中,进行拉普拉斯变换的函数是:laplace(fx,x
14、,t): 求函数f(x)的拉普拉斯像函数 F(t)。ilaplace(Fw,t,x):求拉普拉斯像函数F(t)的原 函数f(x)。223Z变换当函数f(x)呈现为一个离散的数列f(n)时,对数列f(n)进行z变换:逆变换:对数列f(n)进行z变换的MATLAB函数是:ztrans(fn,n,z):求f(n)的Z变换像函数F(z)。iztrans(Fz,z,n):求F(z)的z变换原函数f(n)。239.3 级 数9.3.1 级数符号求和求无穷级数的和需要符号表达式求和函数symsum,其调用格式为:symsum(s,v,n,m)其中s表示一个级数的通项,是一个符号表达式。v是求和变量,v省略时
15、使用系统的默认变量。n和m是求和的开始项和末项。例9-4 求下列级数之和。(1) (2)249.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。259.4 符号方程求解9.4.1 符号代数方程求解 在MATLAB中,求解用符号表达式表示的代数方程可由函数solve实现,其调用格式为:solve(s):求解符号表达式s的代数方程,求解 变量为
16、默认变量。solve(s,v):求解符号表达式s的代数方程,求 解变量为v。solve(s1,s2,sn,v1,v2,vn): 求解符号表达式s1,s2,sn组成的代数方程组,求解变量分别v1,v2,vn。26例9-5 解下列方程和方程组。(1) (2)(3)命令如下: x=solve(2*sin(3*x-pi/4)=1) %解方程(1) x=solve(x+x*exp(x)-10, x) %解方程(2) x y=solve(x+y-8, x(1/3)+y(1/3)-2, x,y) %解方程组(3)279.4.2 符号常微分方程求解 在MATLAB中,用大写字母D表示导数。例如,Dy表示y,D2y表示y,Dy(0)=5表示y(0)=5。D3y+
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度不动产测绘与评估合同
- 软管用机械绕轴市场发展预测和趋势分析
- 2024年度专利申请与授权服务合同
- 血氧监测仪市场发展预测和趋势分析
- 活性炭膳食补充剂市场发展预测和趋势分析
- 2024年度欧洲药品代理销售合同
- 澡盆市场需求与消费特点分析
- 2024年度棚改区燃气工程合同
- 英式橄榄球市场需求与消费特点分析
- 2024年度混凝土原材料供应合同
- 企业安全生产顾问聘用合同
- 《饮料对人体的危害》课件
- 2024-2030年中国腐乳行业发展趋势及营销模式分析报告
- 防沙治沙合同范本
- 手术室专科习题及答案
- 2024-2030年中国水质监测行业发展潜力及投资规划分析报告
- 专题04 任务型阅读10道
- 2024年山东省公务员考试《行测》真题及答案解析
- 2024-2030年中国发芽米行业发展现状及投资规模分析报告
- 期中测试卷(1~4单元)(试题)2024-2025学年五年级上册数学北师大版
- 教师课题结题资料汇编培训
评论
0/150
提交评论