第4章MATLAB符号计算

上传人:无*** 文档编号:243942652 上传时间:2024-10-01 格式:PPT 页数:34 大小:203.50KB
返回 下载 相关 举报
第4章MATLAB符号计算_第1页
第1页 / 共34页
第4章MATLAB符号计算_第2页
第2页 / 共34页
第4章MATLAB符号计算_第3页
第3页 / 共34页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,4,章,MATLAB,符号运算,2024/10/1,本章内容,4.1,符号对象及其表达方式,4.2,符号算术运算,4.3,独立变量与表达式化简,4.4,符号微积分运算,4.5,符号积分变换,4.6,方程的解析解,4.1,符号对象及其表达式化简,1.,建立符号变量和符号常量,(1)sym,函数,S=,sym(A,),sym,函数用来建立单个符号变量,,例如,,a=,sym(,a,),建立符号变量,a,,此后,用户可以在表达式中使用变量,a,进行各种运算。,定义符号常量,pi2=,sym(pi,),a=sym(,log(2),),例,4.1,考察,符号变量,和,数值变量,的差别。,在,MATLAB,命令窗口,输入命令:,a=,sym(a);b,=,sym(b);c,=,sym(c);d,=,sym(d,);%,定义,4,个符号变量,A=,a,b;c,d,%,建立符号矩阵,A,det(A,)%,计算符号矩阵,A,的行列式,-,w=10;x=5;y=-8;z=11;%,定义,4,个数值变量,B=,w,x;y,z,%,建立数值矩阵,B,det(B,)%,计算数值矩阵,B,的行列式,例,4.2,比较,符号常量,与,数值变量,在代数运算时的差别。,在,MATLAB,命令窗口,输入命令:,pi1=sym(pi);k1=sym(8);k2=sym(2);k3=sym(3);,%,定义符号常数,pi2=pi;r1=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,函数,1.,用于定义多个符号变量。,syms,函数的一般调用格式为:,syms,var1 var2,varn,函数定义符号变量,var1,var2,varn,等。用这种格式定义符号变量时不要在变量名上加字符分界符,(,),,,变量间用空格而不要用逗号分隔。,2.,建立符号表达式及符号矩阵,例,4.3:,用,2,种方法建立符号表达式。,在,MATLAB,窗口,输入命令:,U=sym(3*x2+5*y+2*x*y+6),%,定义符号表达式,U,syms,x y;,%,建立符号变量,x,、,y,V=3*x2+5*y+2*x*y+6,%,定义符号表达式,V,2*U-V+6,%,求符号表达式的值,【,例,4.4】,构造符号矩阵。,S=,sym(l,x,y,z;n,u,v,w;a,b,c,d;g,h,j,p,),S=,l,x,y,z,n,u,v,w,a,b,c,d,g,h,j,p,H=,sym(cos(t,),-,sin(t,);,sin(t,),cos(t,),H=,cos(t,),-,sin(t,),sin(t,),cos(t,),4.2,符号的算术运算,4.2.1,符号对象的加减,【,例,4.5】,求两个符号表达式的和与差。,syms,x,fx,gx,%,定义符号变量,fx,=2*x2+3*x-5,fx,=,2*x2+3*x-5,gx,=x2-x+7,fx+gx,ans=,3*x2+2*x+2,fx-gx,ans=,x2+4*x-12,4.2.2,符号对象的乘除,【,例,4.6】,符号矩阵与数组的乘除示例。,syms,a b c d e f g h;,A=a b;c d;,B=e f;g h;,C1=A.*B,C1=,a*e,b*f,c*g,d*h,C2=A*B/A,C2=,(d*a*,e+d,*b*,g-c,*a*,f-c,*b*,h)/(d,*a-c*b),-(b*a*e+b2*g-a2*,f-b,*h*a)/(d*a-c*b),(d2*,g+d,*c*e-c2*,f-c,*d*,h)/(d,*a-c*b),-(d*b*,g+b,*c*,e-c,*a*,f-d,*h*a)/(d*a-c*b),4.3,独立变量与表达式化简,4.3.1,符号表达式中变量的确定,MATLAB,中的符号可以表示符号变量和符号常数。,findsym,可以帮助用户查找一个符号表达式中的符号变量。,该函数的调用格式为:,findsym(S,n,),函数返回符号表达式,S,中的,n,个符号变量,若没有指定,n,,则返回,S,中的全部符号变量。,在求函数的极限、导数和积分时,,如果用户没有明确指定自变量,,MATLAB,将按缺省原则确定主变量并对其进行相应微积分运算,。可用,findsym(S,1),查找系统的缺省变量,,事实上,,MATLAB,按离字符,x,最近原则确定缺省变量。,【,例,4.7】,查找表达式或矩阵中独立变量的操作示例。,syms,a x y z t alpha beta,S1=,findsym(sin(pi,*t*alpha+beta),1),S1=,t,因式分解与展开,factor(S,),对,S,分解因式,,S,是符号表达式或符号矩阵。,expand(S,),对,S,进行展开,,S,是符号表达式或符号矩阵。,collect(S,),对,S,合并同类项,,S,是符号表达式或符号矩阵。,collect(S,v,),对,S,按变量,v,合并同类项,,S,是符号表达式或符号矩阵。,例,4.8,对符号矩阵,A,的每个元素分解因式。,命令如下:,syms,a b x y;,A=2*a2*b3*x2-4*a*b4*x3+10*a*b6*x4,3*x*y-5*x2;4,a3-b3;,factor(A,),%,对,A,的每个元素分解因式,4.3.2,表达式化简,例,4.9,计算表达式,S,的值。,命令如下:,syms,x y;,s=sym(-7*x2-8*y2)*(-x2+3*y2);,s1=,expand(s,),%,对,s,展开,s2=,collect(s,x,),%,对,s,按变量,x,合并同类项,(,无同类项,),factor(s2),%,对,s2,分解因式,表达式化简,MATLAB,提供的对符号表达式化简的函数有:,simplify(S,),%,应用函数规则对,S,进行化简。,simple(S,),%,调用,MATLAB,的其他函数对表达式进行综合化简,并显示化简过程。,例,4.10,化简,syms,x y;,s=(x2+y2)2+(x2-y2)2;,simple(s,),%MATLAB,自动调用多种函数对,s,进行化简,,并显示每步结果,simplify(s,),书写格式美化,%,显示成我们习惯的数学书写形式,syms,x ys=(x2+y2)2+(x2-y2)2;,pretty(s,),2 2 2 2 2 2 (x +y)+(x -y),4.4,符号微积分运算,4.4.1,符号表达式的极限运算,limit,函数的调用格式为:,limit(f,x,a,),limit(f,a,),limit(f,),%,求,F,中默认的独立变量趋近于,0,时的极限,limit,函数的另一种功能是,求单边极限,,其调用格式为:,limit(f,x,a,right,),limit(f,x,a,left,),例,4.11,求极限,在,MATLAB,命令窗口,输入命令:,syms,a m x;,f=(x(1/m)-a(1/m)/(x-a);,limit(f,x,a,),f=(,sin(a+x)-sin(a-x)/x,;,limit(f,),limit(f,inf,),%,求,f,函数在,x,处的极限,limit(f,x,inf,left,),f=(,sqrt(x)-sqrt(a)-sqrt(x-a)/sqrt(x,*x-a*a);,limit(f,x,a,right,),4.4.2,符号微分,MATLAB,中的求导的函数为:,diff(f,x,n,),diff,函数求函数,f,对变量,x,的,n,阶导数,。参数,x,的用法同求极限函数,limit,,可以缺省,缺省值与,limit,相同,,n,的缺省值是,1,。,例,4.12,求函数的导数。,命令如下:,syms,a b t x y z;,f=sqrt(1+exp(x);,diff(f,),%,未指定求导变量和阶数,按缺省规则处理,f=x*,cos(x,);,diff(f,x,2)%,求,f,对,x,的二阶导数,diff(f,x,3)%,求,f,对,x,的三阶导数,f=x*exp(y)/y2;,diff(f,x,),%f,对,x,的偏导数,diff(f,y,),%f,对,y,的偏导数,例,4.13,在曲线,y=x3+3x-2,上哪一点的切线与直线,y=4x-1,平行。,命令如下:,x=,sym(x,);,y=x3+3*x-2,;%,定义曲线函数,f=,diff(y,);,%,对曲线求导数,g=f-4;,solve(g,),%,求方程,f-4=0,的根,即求曲线何处的导数为,4,4.4.3,符号积分,不定积分,在,MATLAB,中,求不定积分的函数是,int,,其调用格式为:,int(f,x,),int,函数求函数,f,对变量,x,的不定积分。参数,x,可以缺省,缺省原则与,diff,函数相同。,例,4.14,求不定积分。,命令如下:,x=,sym(x,);,f=(3-x2)3;,int(f,),f=sqrt(x3+x4);,f1=,int(f,),g=simple(f1),%,调用,simple,函数对结果化简,定积分,定积分在实际工作中有广泛的应用。,在,MATLAB,中,定积分的计算使用函数:,int(f,x,a,b,),例,4.15,求定积分。,命令如下:,x=,sym(x,);t=,sym(t,);,int(abs(1-x),1,2),f=1/(1+x2);,int(f,-,inf,inf,),%,负无穷到正无穷求定积分,int(4*t*x,x,2,sin(t,),%,求定积分,(3),f=x3/(x-1)100;,I=,int(f,2,3),double(I,),%,将上述符号结果转换为数值,例,16:,轴的长度为,10,米,若该轴的线性密度计算公式是,f(x,)=6+0.3x,千克,/,米,(,其中,x,为距轴的端点距离,),,求轴的质量。,(1),符号函数积分,在,MATLAB,命令窗口,输入命令:,syms,x;,f=6+0.3*x;,m=,int(f,0,10),(2),数值积分,先建立一个函数文件,fx.m,:,function,fx,=,fx(x,),fx,=6+0.3*x;,再在,MATLAB,命令窗口,输入命令:,m=,quad(fx,0,10,1e-6),4.4.4,泰勒级数,函数的泰勒级数,MATLAB,中提供了将函数展开为幂级数的函数,taylor,,其调用格式为:,taylor(f,n,v,a),%,变量,v,在,a,点的,n-1,阶泰勒级数,例,4.17,求函数在指定点的泰勒展开式。,命令如下:,x=,sym(x,);,f1=(1+x+x2)/(1-x+x2);,f2=sqrt(1-2*x+x3)-(1-3*x+x2)(1/3);,taylor(f1,x,5),%,展开到,x,的,4,次幂,taylor(f2,6),4.5,符号积分变换,1.,傅立叶,(Fourier),变换,在,MATLAB,中,进行傅立叶变换的函数是:,fourier(f,x,t),求函数,f(x,),的傅立叶像函数,F(t,),。,ifourier(F,t,x),求傅立叶像函数,F(t,),的原函数,f(x,),。,2.,拉普拉斯,(,Laplace,),变换,在,MATLAB,中,进行拉普拉斯变换的函数是:,laplace(f,x,s),求函数,f(x,),的拉普拉斯像函数,F(s,),。,ilaplace(F,s,x),求拉普拉斯像函数,F(s,),的原函数,f(x,),。,3.Z,变换,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!