计算机仿真技术(第5章 MATLAB的符号计算)_第1页
计算机仿真技术(第5章 MATLAB的符号计算)_第2页
计算机仿真技术(第5章 MATLAB的符号计算)_第3页
计算机仿真技术(第5章 MATLAB的符号计算)_第4页
计算机仿真技术(第5章 MATLAB的符号计算)_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

1、q 教学目标教学目标u 介绍符号运算的概念和使用介绍符号运算的概念和使用q 学习要求学习要求u 掌握使用符号运算解决符号推导、掌握使用符号运算解决符号推导、微积分微积分、方程等、方程等问题的方法。问题的方法。q 数值数值运算和符号运算运算和符号运算u 数值运算数值运算在运算前必须先对变量赋值,再参加运算在运算前必须先对变量赋值,再参加运算。例例:(:(1 1) sinsin(a a* *x+bx+b* *y y) (2 2)a a* *x2+bx2+b* *x+cx+c (3 3)1/1/(4+cos4+cos(t t) (4 4)4 4* *x/y x/y 当我们做如下操作时:当我们做如下操

2、作时: 4 4* *x/y x/y 提示提示:? Undefined function or variable x.q 数值数值运算和符号运算运算和符号运算u 符号符号运算运算不需要对变量赋值就可运算,运算结果以标准不需要对变量赋值就可运算,运算结果以标准的符号形式表达。的符号形式表达。例题:哥哥弟弟年龄例题:哥哥弟弟年龄问题(哥哥比弟弟大问题(哥哥比弟弟大1919岁,哥岁,哥哥的年龄比弟弟的哥的年龄比弟弟的3 3倍还多倍还多1 1岁,求哥哥弟弟的年岁,求哥哥弟弟的年龄)。龄)。 解答命令文件解答命令文件gegedidi.mgegedidi.m: clear; syms g d; x,y=so

3、lve(g-d=19,g-3*d=1,g,d) q 符号符号变量的定义变量的定义u 调用命令调用命令: symsym,symssymsu 调用格式调用格式: a=a=symsym(a);(a);b=b=symsym(b); (b); c=c=symsym(c); (c); symssyms a b c a b c; ;u 几种典型的错误命令几种典型的错误命令: x=x=symsym x; x; x=x=symsym x;x; symssyms x,y,zx,y,z; ;q 符号表达式的定义:符号表达式的定义:symsymu 调用调用格式格式:f=f=symsym( 符号表达式符号表达式 ),定

4、义),定义符号表达符号表达式,并将它赋值给变量式,并将它赋值给变量f f。q 建立符号表达式有以下建立符号表达式有以下3 3种方法种方法:u (1)(1)利用单引号来生成符号表达式利用单引号来生成符号表达式。f=f=x+yx+y u (2)(2)用用symsym函数建立符号表达式函数建立符号表达式。 f=f=symsym(a(a* *x2+bx2+b* *x+cx+c););u (3) (3) 使用已经定义的符号变量组成符号表达式。使用已经定义的符号变量组成符号表达式。 symssyms x x y; f=y; f=x+yx+yq 提问:谁是自变量提问:谁是自变量?u 自变量的确定:自变量的确

5、定: 方法一方法一:事先明确指定。:事先明确指定。 方法二方法二:MATLABMATLAB自行默认确定自行默认确定。u MATLABMATLAB自变量自变量确定原则确定原则: : (2 2)x x被视为默认的自变量被视为默认的自变量。(1 1)若没有)若没有x x,则,则字母字母位置最接近位置最接近x x的小写字母的小写字母; (。(。u,v,w,x,y,zu,v,w,x,y,z。)。)q 默认默认自变量实例自变量实例 (1) sin(a*x+b*y) (2)a*x2+b*x+c (3)1/(4+cos(t) (4)4*x/y (5)2*a+b (6)2*i+4*jq 获取系统定义的获取系统定

6、义的自变量:自变量:findsymfindsymu 函数函数findsymfindsym帮助我们获取系统定义的自变量帮助我们获取系统定义的自变量u 格式格式:findsymfindsym(f f)表示获取所有变量)表示获取所有变量; ; findsymfindsym(f f,2 2)表示获取)表示获取2 2个自变量个自变量 例如例如:f f= = symsym(sin(a(sin(a* *x+bx+b* *y);y); findsymfindsym(f(f) ) findsymfindsym(f,1)(f,1) findsymfindsym(f,2)(f,2) q 符号方程的定义符号方程的定义

7、u 符号表达式和符号方程符号表达式和符号方程的区别的区别:符号表达式符号表达式是由数字、函数和变量组成的代数式;是由数字、函数和变量组成的代数式;符号方程符号方程是由是由函数函数和和等号等号组成的等式组成的等式。如如:f f=x+y=x+y;% %为符号表达式为符号表达式 x,y=solvex,y=solve(g-3(g-3* *d=1,g-d=19,g,d)d=1,g-d=19,g,d)% %为符号方程为符号方程 q 符号方程的定义:符号方程的定义:symsymu 调用命令调用命令: symsymu 调用格式调用格式: symsym(符号方程式符号方程式)u 例如例如: equation=e

8、quation=symsym(sin(x(sin(x)+)+coscos(x)=(x)=1)1)q 初等代数初等代数运算运算u (1 1)符号加减乘除符号加减乘除幂次方幂次方运算运算: + - + - * * / / u (2 2)符号表达式的常用运算符号表达式的常用运算函数函数: :+ + - - * * / / numdennumden(获取分子分母)(获取分子分母), , sym2polysym2poly, ,(获取多项(获取多项式时系数)式时系数)poly2sympoly2sym(根据多项式系数获得符号表达式)(根据多项式系数获得符号表达式) n,dn,d=numdennumden(

9、(symsym(x(x* *x+yx+y)+)+symsym(y2)(y2) p=p=symsym(2(2* *x3+3x3+3* *x2+4); x2+4); sym2poly(psym2poly(p) ) x=2,3,0,4x=2,3,0,4; ; poly2sym(x)poly2sym(x)q 符号表达式化简符号表达式化简u collectcollect :合并同类项:合并同类项u expandexpand:展开多项式:展开多项式u hornerhorner: : 分解成嵌套形式分解成嵌套形式u factorfactor: 因式分解因式分解u simplifysimplify: : 对表

10、达式化对表达式化简简q 合并同类项:合并同类项:collectcollect例例: f=f=symsym(x2(x2* *y+yy+y* *x-x2-2x-x2-2* *x); x); collect(fcollect(f) )symssyms x yx y; collect(x2; collect(x2* *y+yy+y* *x-x2-2x-x2-2* *x x) ) %(%(找不同找不同) ) collectcollect(x+y)(x+y)* *(x2+y2+1), (x2+y2+1), y y) ) % %(找不同)找不同)第三次课到此q 展开多项式:展开多项式:expandexpan

11、d例例: f=f=symsym( a3-1); ( a3-1); expand(fexpand(f) )symssyms x y a b; x y a b;expandexpand(x-2)(x-2)* *(x-4)(x-4)expand(expand(coscos( (x+yx+y)expand(expand(expexp(a+ba+b)2)2)q 分解分解成嵌套成嵌套形式:形式: hornerhorner 例例:symssyms x;hornerx;horner(x3-6(x3-6* *x2+11x2+11* *x-6)x-6)q 因式分解因式分解: factor factor 例:例:s

12、ymssyms x;factorx;factor(x3-6(x3-6* *x2+11x2+11* *x-6)x-6)q 对对表达式化表达式化简简: :simplify simplify 例例:symssyms x;simplifyx;simplify(sin(x)2 + (sin(x)2 + coscos(x)2)(x)2)symssyms x;simplifyx;simplify(x2+5(x2+5* *x+6)/(x+2)x+6)/(x+2)symssyms x;simplifyx;simplify( (sqrtsqrt(16)(16)q symsym函数函数 u 功能功能:定义符号表达式

13、:定义符号表达式; ; 或或将符号值表示为对应的将符号值表示为对应的数值表示数值表示,或,或设定变量类型。设定变量类型。u 格式格式:symsym(a) (a) ; ; symsym(A)(A) symsym(A(A, , real), real), symsym(A, (A, unreal),unreal), symsym(A(A,flag) flag) 例如例如: s s= = symsym(sin(x(sin(x)2+ )2+ coscos(x)(x)2) 2) A=0.25 A=0.25 symsym(A(A) ) symsym(A) %(A) %(找不同找不同) ) q symsym

14、函数函数 例如例如: symsym(1/3(1/3,f); ,f); symsym(1/3(1/3,e),e) symsym(1/3,r); (1/3,r); symsym(1/3(1/3,d),d) symsym(x, real); (x, real); symsym(y, real)(y, real) symssyms x y x y real; real; conjconj(x)(x) symsym(x, unreal); (x, unreal); conjconj(x)(x) q 求求反函数反函数: :finversefinverse u 功能功能:求得符号函数的反函数。:求得符号函数

15、的反函数。u 格式格式:finversefinverse(f)(f) finversefinverse( (f,vf,v),f),f: : 符号符号表达式表达式,v,v:独立变量。:独立变量。 syms x syms x y; finverse(1/tan(xy; finverse(1/tan(x) f= f= x2+y; x2+y; finverse(f,finverse(f,y y) ) finverse(f finverse(f) ) % %(找不同)找不同)q 求复合函数求复合函数 compose compose u 功能功能:求符号函数的复合函数:求符号函数的复合函数。u 格式格式:

16、compose(compose(f,gf,g);compose();compose(f,g,zf,g,z) ) compose( compose(f,g,x,zf,g,x,z); compose(); compose(f,g,x,y,xf,g,x,y,x) ) symssyms x y z t u; x y z t u; f = 1/(1 + x2); g = sin(y); h = f = 1/(1 + x2); g = sin(y); h = xtxt; p = ; p = expexp(-y/u);(-y/u); compose( compose(f,gf,g) returns 1/(s

17、in(y)2 + 1) returns 1/(sin(y)2 + 1) compose( compose(f,g,tf,g,t) returns 1/(sin(t)2 + 1) returns 1/(sin(t)2 + 1) compose( compose(h,g,x,zh,g,x,z) returns sin(z)t) returns sin(z)t compose( compose(h,g,t,zh,g,t,z) returns ) returns xsinxsin(z)(z) compose( compose(h,p,x,y,zh,p,x,y,z) returns (1/) retur

18、ns (1/expexp(z/u)t(z/u)t compose( compose(h,p,t,u,zh,p,t,u,z) returns x(1/) returns x(1/expexp(y/z)(y/z)q 求复合函数求复合函数 composecompose例题例题 u 已知已知f=1/(1+x2),g=sin(y),f=1/(1+x2),g=sin(y),求求复合函数复合函数 f(g(y).f(g(y).clearclear; ;syms syms x y;x y;f=1f=1/(1+x2);/(1+x2);g=sin(yg=sin(y););h=compose(f,gh=compose

19、(f,g) )q 表达式替换表达式替换 subs subs u 功能功能:表达式替换。:表达式替换。u 格式格式: subs(s)subs(s); subs(subs(s,news,new) );subs(subs(s,old,news,old,new) )例题例题:a=5;c=10; a=5;c=10; y=y=symsym(a(a* *x2+bx2+b* *x+cx+c);subs(y);subs(y) )symssyms a a b;subsb;subs(a+b,a,4)(a+b,a,4)subs(a+b,4) subs(a+b,4) subs(subs(coscos(a(a)+sin(

20、b),)+sin(b),a,ba,b,symsym(alpha),(alpha),2 2)subssubs(x2+2(x2+2* *y,y,x,yx,y,3,4),3,4)q 任意精度任意精度计算计算 u 问题问题: 积少成多的累计误差积少成多的累计误差?( 1/3+1/3)=?u 几个控制精度计算的函数:几个控制精度计算的函数:digits(n):digits(n):设置缺省的精度;设置缺省的精度;vpavpa( (S,nS,n):):将将S S表示为表示为n n位有效位数的形式。位有效位数的形式。double(s):double(s):将将s s转换成双精度型转换成双精度型 。例题例题:s

21、=sym(1/3+1/3) digits(2) vpa(s) double(s) q 极限:极限:limit limit u 函数函数: limitlimitu 调用调用格式格式:g=limit g=limit (f(f); ); g=limit (f, a)g=limit (f, a) g=limit g=limit(f f,x x,a a) g=limit g=limit(f f,x x,a a,leftleft) g=limitg=limit(f f,x x,a a,rightright)例题例题:symssyms x h t; x h t;limit(sin(xlimit(sin(x)

22、/x) )/x) limit(x-2)/(x2-4),2) limit(x-2)/(x2-4),2) limit(1+2limit(1+2* *t/x)(3t/x)(3* *x),x,inf) x),x,inf) limit(1/x,x,0limit(1/x,x,0,right),right)q 注意:如果注意:如果自变量不是自变量不是x x,最好显示说明,最好显示说明!q 例题:求极限:例题:求极限: 解解 symssyms a x; a x; limit limit(x+ax+a)/(x-a)/(x-a)x,infx,inf) )lim()xxx ax a1ln( )0lim(tan( )

23、xxx q 练习练习:求极限:求极限: symssyms x xlimitlimit(tan(x)(1/log(x),x,0(tan(x)(1/log(x),x,0,right),right)21( )lim (1)txxf ttx q 微分:微分:diff diff u 调用调用格式格式:diff(f)diff(f);diff(f, diff(f, t t) );diff(diff(f,nf,n) ) diff(diff(f,t,nf,t,n) t) t表示对表示对t t微分,微分,n n表示微分的阶数表示微分的阶数例题例题:已知:已知f(x)=ax2 +f(x)=ax2 +bx+cbx+c

24、, ,求求f(x)f(x)的的微分微分symssyms a b c a b c x;fx;f= =symsym(a(a* *x2+bx2+b* *x+cx+c)diff(fdiff(f) )diff(f,2diff(f,2) )diff(diff(f,af,a) ) diff(f,a,2diff(f,a,2) ) diff(diff(fdiff(diff(f),a),a) ) q 积分积分:intint u 调用格式调用格式:intint(f(f) );intint(f(f, t, t) );intint( (f,a,bf,a,b) () (a,ba,b 为为数值式数值式) );intint(

25、 (f,t,a,bf,t,a,b) );intint( (f,m,nf,m,n) () (m,nm,n为符号式为符号式) )例题例题:已知:已知f(x)=ax2 +f(x)=ax2 +bx+cbx+c, ,求求f(x)f(x)的积分。的积分。symssyms a b c xa b c xf=f=symsym(a(a* *x2+bx2+b* *x+cx+c)intint(f(f) )intint(f,x,0,2(f,x,0,2) )intint( (f,af,a) )intint( (intint( (f,af,a),x),x)21xdx1 x(+ )q 例题:例题:求积分求积分 u 解答解答:

26、syms x; int(sqrt(x)/(1+x)2),1, inf)q 联系联系:求积分求积分 u 解答解答:syms syms x y x y z z; ; R1=int(x R1=int(x/(1+z2),z/(1+z2),z) )R1=int(xR1=int(x/(1+z2),z,1,inf) /(1+z2),z,1,inf) R2=int(xR2=int(x* *log(1+xlog(1+x),0,1),0,1)21xdz1 z+10 xln(1 x)dxq 例题:例题:intint与与quadquad的区别的区别u int为为符号积分,符号积分,quad为为数值积分数值积分u qu

27、ad(fun,a,b,tol) % 采用递推自适应采用递推自适应Simpson法法计算计算积分积分u dblquad(fun,xmin,xmax,ymin,ymax) % 矩形区矩形区域上的域上的二重积分二重积分 q 级数:级数:symsum,taylorsymsum,taylor u 函数函数:symsum,tayloru 调用调用格式格式:symsum(s,v,a,b); taylor(F,v,n)例题例题:求级数:求级数symssyms k ksymsumsymsum(1/k,k,1,inf(1/k,k,1,inf) )symsumsymsum(1(1/(k/(k* *(k+1),k,1

28、,inf)(k+1),k,1,inf)11111111.23k22x33x4k(k+1)和的和。 q 练习:求练习:求sin(x)sin(x)的泰勒的泰勒1010阶阶展开式,并展开式,并求求x=pi/2x=pi/2的的值。值。symssyms x xtaylortaylor(sin(x(sin(x),x,10),x,10)subs(subs(ans,x,pians,x,pi/2/2) )2kkxk!k 0q 习题习题1 1:计算级数:计算级数 q 方程方程求解:求解:solve solve u 函数函数:solve 解符号方程式解符号方程式fu 调用调用格式格式:sovle(f1,f2,fn,

29、 v1,v2,v3,vn) f为为符号多项式或者符号方程,当为为符号多项式或者符号方程,当f为符号多项为符号多项式时,式时,matlab会自动添加会自动添加”=0”变为等式。变为等式。例题例题:求一元二次方程:求一元二次方程f(x)=ax2+bx+cf(x)=ax2+bx+c的根。的根。f=f=symsym(a(a* *x2+bx2+b* *x+cx+c);solve(f);solve(f) )symssyms a;solvea;solve( (f,af,a) )xyz10 xyz02xyz4 q 例题:方程求解例题:方程求解 f1=f1=symsym(x+y+z-10=0);(x+y+z-1

30、0=0);f2=f2=symsym(x-y+zx-y+z=0);=0);f3=f3=symsym(2(2* *x-y-z+4=0);x-y-z+4=0);solve(f1,f2,f3solve(f1,f2,f3);); x,y,zx,y,z=solve(f1,f2,f3)=solve(f1,f2,f3)2xay0bx2q 例题:方程求解(例题:方程求解(a,ba,b为系数)为系数) syms x y a b;syms x y a b;x,y=x,y=solvesolve(x2-a(x2-a* *y=0,by=0,b* *x=2,x=2,x,y)x,y) q 解微分符号解微分符号方程式:方程式:

31、dsolvedsolve u 调用格式调用格式: dsolve(f,cond,v) dsolve(f1,f2,fn,cond1,cond2,condn,v1,v2,vn)dsolve(f1,f2,fn)u 注意事项注意事项:Dy代表代表dy/dt, D2y代表代表d2y/dt2 。如果没有初始条件,则求微分方程的通解。如果没有初始条件,则求微分方程的通解。系统默认变量系统默认变量t q 例题:方程求解例题:方程求解求微分方程求微分方程y=y=5 5的通解。的通解。求微分方程求微分方程y=y=x x的通解,指定的通解,指定x x为自变量。为自变量。求微分方程求微分方程y=1+yy=1+y的的通解

32、。通解。求微分方程求微分方程y=1+yy=1+y的的解,解,y|ty|t=0=1,dy/=0=1,dy/dt|tdt|t=0=0=0=0。解解:dsolvedsolve(DyDy=5)=5) dsolvedsolve(DyDy= =x,xx,x) dsolvedsolve(D2y=1+Dy)(D2y=1+Dy) dsolvedsolve(D2y=1+Dy,y(0(D2y=1+Dy,y(0)=)=1,Dy(01,Dy(0)=)=0)0)dxdtdydtyx2x q 例题:方程组求解例题:方程组求解 x,y=dsolvex,y=dsolve(Dx=y+x(Dx=y+x, , Dy=2Dy=2* *x)x)初始条件初始条件x|t=0=0,y|t=0=1dxdtdydtyx2xq 例题:方程组求解例题:方程组求解x,y=dsolvex,y=dsolve(Dx=x+y(Dx=x+y, , Dy=2Dy=2* *x,x(0 x,x(0)=)=0,y(00,y(0)=)=1)1) q 符号变量符号变

温馨提示

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

最新文档

评论

0/150

提交评论