第二讲2MATLAB符号计算_第1页
第二讲2MATLAB符号计算_第2页
第二讲2MATLAB符号计算_第3页
第二讲2MATLAB符号计算_第4页
第二讲2MATLAB符号计算_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

1、第3章MATLAB中的符号计算,2020年7月8日,本章内容,3.1符号计算基础3.2微分运算3.3积分运算3.4泰勒级数3.5求解方程3.6积分变换,3.1符号计算基础,3.1.1符号对象1。建立符号变量和符号常数(1)符号函数S=符号(A)符号函数用于建立单个符号变量,例如,定义符号常数,如pi=符号(pi)A=符号(3/4)。示例3.1检查了符号变量和数值变量之间的差异。在MATLAB命令窗口中,输入命令:a=符号(a);b=符号(b);c=符号(c);d=符号(d);%定义了4个符号变量w=10x=5;y=-8;z=11%定义了四个数值变量A=a,b;建立符号矩阵A,B=w,x;y,z

2、%建立数值矩阵B det(A)%计算符号矩阵a det(B)%计算数值矩阵B的行列式,例3.2比较代数运算中符号常数和数值变量之间的差异。在MATLAB命令窗口中,输入命令:pi1=符号(pi);k1=sym(8);k2=sym(2);k3=sym(3);%定义符号常数pi2=piR1=8;R2=2;R3=3;%定义数值变量sin(pi1/3)%计算符号表达式值sin(pi2/3)%计算符号表达式值sqrt(k1)%计算符号表达式值sqrt(r1)%计算数值表达式值sqrt(k3 sqrt(k2)%计算符号表达式值sqrt(r3 sqrt(r2)%计算数值表达式值,(2)syms函数的一般调用

3、格式为:syms var1 var2 varn函数定义符号变量var1、var2、varn等。以这种格式定义符号变量时,不要在变量名中添加字符分隔符(),并用空格而不是逗号分隔变量。2.建立符号表达式示例3.3以两种方式建立符号表达式。在MATLAB窗口中,输入命令:U=符号(3*x2 5*y 2*x*y 6)%,定义符号表达式U符号x y;%建立符号变量x,y V=3*x2 5*y 2*x*y 6%定义符号表达式V 2*U-V 6%计算符号表达式的值,并在例3.4中,计算三阶范德蒙矩阵的行列式。设A是由符号变量A、B和c确定的范德蒙矩阵。命令如下:U=a、b、c。A=1,1,1。u;U.2%

4、建立范德蒙符号矩阵det(A)%计算A的行列式值,示例3.5建立x和y的一般二进制函数。在MATLAB命令窗口中,输入命令:syms x y;f=sym(f(x,y);3.1.2基本符号运算(1)符号表达式的代数运算与矩阵运算基本一致,详见P9596。(2)符号和值之间的转换:符号、数字、求值、符号2多、多符号数字、求值:将符号常数转换为数字或计算表达式的函数;符号多项式:将符号多项式转换成等价的系数向量。Poly2sym:要求用户指定变量(x、y等。)来表达。例3.6f=sym(2 * x27 * x9)n=sym 2 poly(f)f1=poly 2 sym(n,y),(3)因式分解和展开

5、因子(S)因式分解S,S是符号表达式或符号矩阵。展开(S)展开S,这是一个符号表达式或符号矩阵。收集(S)将类似的项目与合并,其中S是符号表达式或符号矩阵。Collect(S,v)根据变量v将类似的项与S组合在一起,S是一个符号表达式或符号矩阵。例3.7分解符号矩阵a的每个元素。命令如下:a=2 * a2 * B3 * x2-4 * a * B4 * x3 10 * a * B6 * x4,3 * x * y-5 * x2;4,a3-B3;因子(A)%对每个元素进行因子分解,在示例3.8中,计算表达式的值。命令如下:s=sym(-7 * x2-8 * y2)*(-x2 3 * y2);s2=展

6、开(s)%展开s2=收集(S,x)%根据变量x合并相似项(无相似项)因子(s2)%分解s2的因子,(4)表达式简化MATLAB提供以下简化符号表达式的函数:通过应用函数规则简化S。Simple调用MATLAB的其他函数对表达式进行综合和简化,并显示简化过程。示例3.9简化命令如下:s=(x2 y2)2(x2-y2)2;MATLAB自动调用各种函数来简化S,并显示每一步的结果。(5)符号表达式中变量的确定符号在MATLAB中可以表示符号变量和符号常数。Findsym可以帮助用户在符号表达式中找到符号变量。此函数的调用格式为:findsym(S,n)返回符号表达式S中的n个符号变量,如果未指定n,

7、则返回S中的所有符号变量。在计算函数的极限、导数和积分时,如果用户没有明确指定自变量,MATLAB将根据缺省原理确定主变量并进行相应的微积分运算。您可以使用findsym(S,1)来查找系统的默认变量。实际上,MATLAB是根据最近字符X的原理来确定默认变量的.3.2微分运算,3.2.1极限运算的符号表达式极限函数的调用格式是:limit (f,x,a) limit (f,a)limit (f)limit (f)limit(f)limit函数的另一个函数是查找单侧极限,其调用格式是:limit(f,x,a,右)limit(f,x)在MATLAB命令窗口中,输入命令:syms a m x;f=(

8、x(1/m)-a(1/m)/(x-a);极限(f,x,a)%(1)f=(sin(a-x)-sin(a-x)/x;极限(f)%求极限(2)极限(F,inf)%求函数在x处的极限(包括和)极限(F,x,inf,左)%求极限(3) F=(sqrt (x)-sqrt (a)-sqrt (x-a)极限(F,x,a,右)%求极限(4),3.2.2符号函数的求导及其应用在MATLAB中的求导函数是:diff(f,x,n) diff函数求函数的n阶导数默认值与limit相同,默认值n为1。寻找函数的导数。命令如下:符号a b t x y z;f=sqrt(1 exp(x);差异(f)% (1)。未指定导数变量

9、和顺序,f=x*cos(x)根据默认规则进行处理;差异(f,x,2)%和(2)。求f到x的二阶导数差(f,x,3)%,然后求(2)。求f到x的三阶导数f1=a * cos(t);F2=b * sin(t);(3)对于diff(f2)/diff(f1)%。根据参数方程的导数公式,求出y对x的导数(diff (f1) * diff (f2,2)-diff (f1,2) * diff (f2)/(diff (f1) 3%,并求出(3)。得到y到x=x * exp (y)/y2的二阶导数f。差异(f,x)% (4)。z到x (4)的偏导数差(f,y)%。z到y的偏导数f=x2 y2 z2-a2;(5)

10、对于zx=-diff(f,x)/diff(f,z)%。根据隐函数的导数公式,求出z对x的偏导数zy=-diff(f,y)/diff(f,z)% (5)。根据隐函数的导数公式,求出Z到Y的偏导数,例如3.12,在曲线y=x3 3x-2上的点,切线平行于直线y=4x-1。命令如下:x=sym(x);y=x33 * x-2;%定义曲线函数f=diff(y);%取曲线g=f-4的导数;求解(g)%求方程f-4=0的根,即求曲线的导数是4,3.3积分运算,3.3.1不定积分。在MATLAB中,不定积分的函数是int,它的调用格式是:int(f,x) int函数求变量x的不定积分。参数x可以默认,默认原则

11、与diff函数相同。例3.13不定积分。命令如下:x=sym(x);f=(3-x2)3;不定积分(1)的int(f)% f=sqrt(x3 x4);F1=int(f)%求不定积分(2) g=simple(f1)%调用简单函数简化结果,3.3.2定积分定积分在实际工作中被广泛使用。在MATLAB中,用函数int(f,x,a,b)例3.14计算定积分。命令如下:x=sym(x);t=符号(t)。Int(abs(1-x),1,2)%定积分(1)f=1/(1 x2);Int(f,-inf,inf)%负无穷大到正无穷大(2) int(4*t*x,x,2,sin(t)%定积分(3)f=x3/(x-1)10

12、0;I=int(f,2,3)%使用符号积分法确定积分(4)双(I)%,将上述符号结果转换为数值,并计算示例3.15中椭球体的体积。命令如下:符号a b c z;f=pi * a * b *(C2-z2)/C2;V=int(f,z,-c,c) V=4/3*pi*a*b*c,示例3.16竖井长度为10m。如果轴的线密度计算公式为f(x)=6 0.3x kg/m(其中x是距轴端点的距离),则计算轴的质量。(1)符号函数积分在MATLAB命令窗口中,输入命令:符号x;f=60.3 * x;首先,一个函数文件FX。m:为数值积分建立函数FX=FX(x)FX=60.3 * x;在MATLAB命令窗口中,输

13、入命令:m=四边形(fx,0,10,1e-6),在示例3.17中,计算从点(0,0,0)到点(3,3,2)的空间曲线c的长度。求曲线长度的命令是曲线类型一,如下所示:x=3 * t;y=3 * t2z=2 * t3F=diff(x,y,z,t)%求x,y,z对参数t的导数g=sqrt(f*f)%计算I型积分公式的根部分l=int(g,t,0,1)%计算曲线c的长度,3.4泰勒级数,3.4.1泰勒级数的函数命令如下:x=sym(x);f1=(1 x x2)/(1-x x2);F2=sqrt(1-2 * x x3)-(1-3 * x x2)(1/3);(1)的泰勒(f1,x,5)%。扩展到x泰勒的

14、4次方(f2,6)%,得到(2)。在3.19中,多项式被表示为x 1的幂的多项式。命令如下:x=sym(x);p=1 3 * x 5 * x2-2 * x3;实例3.20的f=泰勒(p,x,-1,4)是由泰勒公式近似计算的。命令如下:x=sym(x);f=(1-x)(1/12);%定义函数,4000 (1/12)=2f (96/212) g=泰勒(f,4)%求泰勒展开式g的f,有4000(1/12)2g(96/212)b=96/212;a=1-b/12-11/288 * B2-253/10368 * B3 %计算g(b) 2*a%并得到4000(1/12)%的结果,该结果由MATLAB的幂运算

15、直接计算,3.5求解方程,3.5。Var1,Var2,varn) solve (p * sin (x)=r) x,y=solve(x2 x * y=3,x2-4 * x 3=0) p107108举个例子,请参考3.5.2求解常微分方程,函数dsolve的调用格式是dsolve(方程n1,条件,var),它在初始条件下求解微分方程的特解方程n1。参数var描述了方程中自变量的符号。如果省略,将根据默认原则进行处理。如果没有给定初始条件,则得到方程的通解。解微分方程解算器的调用格式是:解算器(eqn1,eqn2,eqnN,condition1,conditionN,var1,varN)函数,在初始条件条件条件1,和条件n下解微分方程方程方程eqn1,eqnn,如果没有给定初始条件,将会找到方程的通解。解溶参数描述,(1)Eqn微分方程输入方法:示例:命令:y=解溶(d2y-2 * dy-3 * y=0,x) (2)条件初始条件y(a)=b;dy(a)=c;D2y(a)=d。最多可接受12个输入参数。例3.25求微分方程的通解。命令如下:y=dsolve(Dy-(x2 y2)/x2/2,x)% solution (1)。Y=脱溶(dy * x22 * x * y-exp (x),x)%溶液(2) y=脱溶(dy-x/y/sqrt (1-x2),x)%溶液(3)在等式右端为0时可以省略。

温馨提示

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

评论

0/150

提交评论