




已阅读5页,还剩50页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
,第2章矩阵、数组和符号运算,二、符号运算掌握内容:(1)了解MATLAB的符号变量,掌握MATLAB符号表达式、符号矩阵的两种创建方法。(2)掌握MATLAB符号数学函数的创建。(3)掌握符号矩阵的基本运算及MATLAB关于不同精度的控制方法。(4)掌握符号微积分内容,包括求函数的极限、对符号表达式求导数和微分、符号积分、符号求和、傅立叶变换及其逆变换等。(5)掌握各种符号方程的求解方法和函数命令。(6)了解MATLAB可视化的符号函数分析界面及使用。(7)初步了解MAPLE的符号资源。,对于:,如何计算?,第2章矩阵、数组和符号运算,A=2,-3;23;B=1;5;X=AB,符号运算,所谓符号计算是指在运算时,无须事先对变量赋值,而将所得到结果以标准的符号形式来表示。MathWorks公司以Maple的内核作为符号计算引擎(Engine),依赖Maple已有的函数库,开发了实现符号计算的两个工具箱:基本符号工具箱和扩展符号工具箱。,第2章矩阵、数组和符号运算,第2章矩阵、数组和符号运算,抽象运算:公式推导、因式分解、求解代数方程或微分方程的精确解符号数学工具箱1)通过基本符号数学工具箱的专用函数;符号表达式和符号矩阵的操作;多项式的化简、展开和代入;线性代数;微积分;符号方程的求解;特殊的数学函数。2)通过maple.m、mpa.m两个专门设计的M文件进行符号运算;3)通过MATLAB中的函数计算器(FunctionCaculator)。,第2章矩阵、数组和符号运算,1、符号变量的创建a.sym函数(symbol的缩写)S=sym(arg),从表达式arg创建一个sym对象Sx=sym(x)x=sym(x,real)x=sym(x,unreal)附加属性x=sym(x,positive)pi=sym(pi)delta=sym(1/10)S=sym(A,flag),将数值或矩阵转化为符号形式其中flag选项有四项参数f,r,e和d,r为缺省项。f:代表十六进制浮点形式;r:代表有理数形式;e:估计误差;d:表示十进制小数。,第2章矩阵、数组和符号运算,A=2/5,4/0.78,sqrt(23)/3;0.33,0.3333,log(4)输入数值矩阵AA=0.40005.12821.59860.33000.33331.3863FA=sym(A)将数值矩阵A转化为符号矩阵FAFA=2/5,200/39,sqrt(23/9)33/100,3333/10000,6243314768165359*2(-52)不管数值矩阵的元素是以分数或是浮点数表示,转换后的符号矩阵都将以最接近有理式的形式给出。b.syms函数*syms用于方便地一次创建多个符号变量,调用格式为:symsabcd书写简洁意义清楚,建议使用。symsabcxy,2、符号表达式和符号矩阵的创建,第2章矩阵、数组和符号运算,a.字符串直接输入创建符号表达式和符号方程对空格很敏感。因此,在创建符号表达式或符号方程时,不要在字符间任意加空格符;符号计算中出现的数字也是当作符号处理的;f=a*x2+b*x+cf=a*x2+b*x+cf=a*x2+b*x+c=0f=a*x2+b*x+c=0,2、符号表达式和符号矩阵的创建,第2章矩阵、数组和符号运算,这种方法输入符号矩阵与字符串矩阵的输入相似。但要保证在同一列中各元素字符串有同样的长度,在较短的字符串前后用空格符填充;这种方法要求符号矩阵每一行的两端都有方括号,而字符串矩阵仅在首尾有方括号。B=4+xx2x;x35*x-3x*aB=4+xx2xx35*x-3x*a,2、符号表达式和符号矩阵的创建,第2章矩阵、数组和符号运算,b.由sym命令创建f=sym(a*x2+b*x+c)f=a*x2+b*x+cf1=sym(a*x2+b*x+c=0)f1=a*x2+b*x+c=0A=sym(4+x,x2,x;x3,5*x-3,x*a)A=4+x,x2,xx3,5*x-3,x*a,第2章矩阵、数组和符号运算,c.由syms命令创建symsxabcf=a*x2+b*x+cf=a*x2+b*x+csymsxaB=4+xx2x;x35*x-3x*aB=4+x,x2,xx3,5*x-3,x*a不能创建符号方程,【例1】作符号计算:a,b,x,y均为符号运算量。在符号运算前,应先将a,b,x,y定义为符号运算量,第2章矩阵、数组和符号运算,方法一:symsabA=a,-b;ab;B=1;5;X=ABX=3/a2/b,第2章矩阵、数组和符号运算,方法二:a=sym(a);%定义a为符号运算量,输出变量名为ab=sym(b);x=sym(x);y=sym(y);x,y=solve(a*x-b*y-1,a*x+b*y-5,x,y)%solve:符号代数方程的求解%以a,b为符号常数,x,y为符号变量即可得到方程组的解:x=3/ay=2/b,【例2】已知一复数表达式z=x+i*y,试求其共轭复数,并求该表达式与其共轭复数乘积的多项式。为了使乘积表达式x2+y2非负,这里,把变量x和y定义为实数。x=sym(x,real);y=sym(y,real);,第2章矩阵、数组和符号运算,z=x+i*y;%定义复数表达式conj(z);%求共轭复数expand(z*conj(z)%求表达式与其共轭复数乘积的多项式%expand:展开符号表达式中的各项子式ans=x2+y2若要去掉x的属性,可以使用下面语句x=sym(x,unreal)将x创建为纯格式的符号变量。,第2章矩阵、数组和符号运算,默认符号变量在数学表达式中,一般习惯于使用排在字母表中前面的字母作为变量的系数,而用排在后面的字母表示变量。例如:f=ax2+bx+c表达式中的a,b,c通常被认为是常数,用作变量的系数;而将x看作自变量。,第2章矩阵、数组和符号运算,例如,数学表达式f=xng=sin(at+b)根据数学式中表示自变量的习惯,默认a,b,n为符号常数,x,t为符号变量。若在MATLAB中表示上述表达式,首先用syms函数定义a,b,n,t,x为符号对象。在进行导数运算时,由于没有指定符号变量,则系统采用数学习惯来确定表达式中的自变量,默认a,b,n为符号常数,x,t为符号变量。即:对函数f求导为:df/dx对函数g求导为:dg/dt,第2章矩阵、数组和符号运算,为了了解函数引用过程中使用的符号变量个数及变量名,可以用findsym函数查询符号函数中所包含的符号变量。该函数的引用格式为:findsym(f,n)说明:f为用户定义的符号函数,n为正整数,表示查询变量的个数。n=i,表示查询前i个系统默认变量。n值省略时表示查询符号函数中全部系统默认变量。,第2章矩阵、数组和符号运算,【例3】查询符号函数f=xng=sin(at+b)中的系统默认变量。symsabntx%定义符号变量f=xn;%给定符号函数g=sin(a*t+b);findsym(f,1)%在f函数中查询1个系统默认变量ans=x%表示f函数中查询的1个系统默认变量为x。findsym(g,1)ans=t,第2章矩阵、数组和符号运算,例3:查询符号函数中的默认自变量。创建符号变量a,b,n,x和t,建立函数f=axn+bt,然后求f的默认自变量。symsabntxf=a*xn+b*tfindsym(f,1)findsym(f,2)findsym(f,5)%f表达式中按最接近x顺序排列的5个默认自变量findsym(f)%f表达式中按最接近字母顺序排列的全部自变量f=a*xn+b*tans=xans=x,tans=x,t,n,b,aans=a,b,n,t,x,第2章矩阵、数组和符号运算,【例4】定义一个符号函数fxy=(a*x2+b*y2)/c2,分别求该函数对x、y的导数和对x的积分。symsabcxy%定义符号变量fxy=(a*x2+b*y2)/c2;%生成符号函数diff(fxy,x)%符号函数fxy对x求导数ans=2*a*x/c2diff(fxy,y)%符号函数fxy对y求导数ans=2*b*y/c2int(fxy,x)%符号函数fxy对x求积分ans=1/c2*(1/3*a*x3+b*y2*x),第2章矩阵、数组和符号运算,3、符号矩阵的运算基本运算四则运算(与数值矩阵的运算规则相同)两个符号矩阵的大小相等方可进行加减运算,符号矩阵和符号标量的加减运算按照数组运算规则进行;两个符号矩阵进行乘、除法运算(与矩阵乘、除法规则相同);符号的乘方运算Sp,若S为符号表达式,p可以为符号表达式或数值表达式;若S为符号矩阵,则p必须是整数。,第2章矩阵、数组和符号运算,第2章矩阵、数组和符号运算,a=sym(1/x,1/(x+1);1/(x+2),1/(x+3)a=1/x,1/(x+1)1/(x+2),1/(x+3)b=sym(x,1;x+2,0)b=x,1x+2,0b-aans=x-1/x,1-1/(x+1)x+2-1/(x+2),-1/(x+3),abans=-6*x-2*x3-7*x2,3/2*x2+x+1/2*x314*x+2*x3+10*x2+6,-2*x2-3/2*x-1/2*x3a.bans=x2,x+1(x+2)2,0a2ans=1/x2+1/(x+1)/(x+2),1/x/(x+1)+1/(x+1)/(x+3)1/(x+2)/x+1/(x+3)/(x+2),1/(x+1)/(x+2)+1/(x+3)2exp(b)ans=exp(x),exp(1)exp(x+2),1,第2章矩阵、数组和符号运算,b.符号表达式的化简与转换给定如下3个符号表达式:f=x3-6*x2+11*x-6g=(x-1)*(x-2)*(x-3)h=-6+(11+(-6+x)*x)*x是否同一个符号表达式?,第2章矩阵、数组和符号运算,collect:将表达式中同类项合并,合并后的多项式以变量幂的次数按大小依次排列ff=x3-6*x2+11*x-6collect(g)ans=x3-6*x2+11*x-6collect(h)ans=x3-6*x2+11*x-6symsxycollect(x2*y+y*x-x2-2*x)ans=(y-1)*x2+(y-2)*x,第2章矩阵、数组和符号运算,expand:展开符号表达式中的各项子式symsxyexpand(x+1)3)ans=x3+3*x2+3*x+1expand(sin(x+y)ans=sin(x)*cos(y)+cos(x)*sin(y)factor:符号因式分解symsxfactor(x9-1)ans=(x-1)*(x2+x+1)*(x6+x3+1),第2章矩阵、数组和符号运算,numden:分式通分symsxyn,d=numden(x/y+y/x)n=x2+y2%n:分式的分子d=y*x%d:分式的分母,表达式简化符号表达式的两个化简函数:simplify、simplesimplify:化简函数,主要用于在符号表达式中进行等式的恒等替换。例1:对表达式f=sin2(x)+cos2(x)进行化简.symsxf=sin(x)2+cos(x)2;simplify(f)ans=1,第2章矩阵、数组和符号运算,r,how=simple(S)函数可寻找符号表达式S的最简型,r为返回的简化形式,how为化简过程中使用的主要方法,simple函数综合使用了下列化简方法:*simplify函数对表达式进行化简*radsimp函数对含根式(surd)的表达式进行化简*combine函数对表达式中以求和、乘积、幂运算等形式出现的项进行合并*collect合并同类项*factor函数实现因式分解*convert函数完成表达式形式的转换,第2章矩阵、数组和符号运算,例2:最简表达式的获得。symsxtf=cos(x)2-sin(x)2;r,how=simple(f)r=cos(2*x)how=combine(trig),第2章矩阵、数组和符号运算,Examples:Srhowcos(x)2+sin(x)21simplify2*cos(x)2-sin(x)23*cos(x)2-1simplifycos(x)2-sin(x)2cos(2*x)combine(trig)cos(x)+(-sin(x)2)(1/2)cos(x)+i*sin(x)radsimpcos(x)+i*sin(x)exp(i*x)convert(exp)(x+1)*x*(x-1)x3-xcombine(trig)x3+3*x2+3*x+1(x+1)3factorcos(3*acos(x)4*x3-3*xexpand,第2章矩阵、数组和符号运算,4、符号微积分Matlab自变量确定原则:除i、j外,字母位置最接近x的小写字母为自变量;如果表达式中没有变量,x会被视为默认的变量。由函数findsym可以找到默认变量a.符号极限(Symboliclimit)*limit(F,x,a)计算符号表达式F在自变量xa条件下的极限;*limit(F,a)计算符号表达式F中由默认自变量趋向于a条件下的极限;*limit(F)计算符号表达式F在默认自变量趋向于0条件下的极限;*limit(F,x,a,right)和limit(F,x,a,left)计算符号表达式F在xa条件下的右极限和左极限。,symsxathlimit(sin(x)/x)ans=1limit(1+2*t/x)(3*x),x,inf)ans=exp(6*t)limit(1/x,x,0,right)ans=Inflimit(1/x,x,0,left)ans=-Inf,第2章矩阵、数组和符号运算,【例】求极限symsx%定义符号变量f=(x*(exp(sin(x)+1)-2*(exp(tan(x)-1)/sin(x)3;%确定符号表达式w=limit(f)%求函数的极限w=-1/2,第2章矩阵、数组和符号运算,b.微分函数(differentialcoefficient)diff函数用于对符号表达式s求微分。该函数的一般引用格式为:diff(s,v,n),说明:应用diff(s)没有指定微分变量和微分阶数,则系统按findsym函数指示的默认变量对符号表达式s求一阶微分。应用diff(s,v)或diff(s,sym(v)格式,表示以v为自变量,对符号表达式s求一阶微分。应用diff(s,n)格式,表示按findsym函数指示的默认变量对符号表达式s求n阶微分,n为正整数。应用diff(s,v,n)、diff(s,n,v)格式,表示以v为自变量,对符号表达式s求n阶微分。,第2章矩阵、数组和符号运算,【例】求导数:x=sym(x);%定义符号变量t=sym(t);diff(sin(x2)%求导运算ans=2*cos(x2)*x【例】分别计算表达式f=xx的导数和3次导数.symsx;f=xx;diff(f)diff(f,3)ans=xx*(log(x)+1)ans=xx*(log(x)+1)3+3*xx*(log(x)+1)/x-xx/x2,第2章矩阵、数组和符号运算,c积分函数(integral)积分函数int(s,v,a,b)可以对被积函数或符号表达式s求积分。其引用格式为:int(s,v,a,b)说明:应用int(s)格式,表示没有指定积分变量和积分阶数时,系统按findsym函数指示的默认变量对被积函数或符号表达式s求一阶积分。应用int(s,v)格式,表示以v为自变量,对被积函数或符号表达式s求一阶不定积分。应用积分函数时,如果给定a、b两项,表示是进行定积分运算。a、b分别表示定积分的下限和上限。不指定积分的下限和上限表示求不定积分。,第2章矩阵、数组和符号运算,【例】求积分:symsxint(1/(1+x2)ans=atan(x)int(1/(1+x2),0,1)%符号表达式的定积分ans=1/4*piquad(1./(1+x.2),0,1)%数组的定积分ans=0.7854,第2章矩阵、数组和符号运算,d.级数(符号)求和(Symbolicsummation)级数求和运算是数学中常见的一种运算。例如:f(x)=a0+a1x+a2x2+a3x3+anxn函数symsum可以用于此类对符号函数f的求和运算。该函数的引用时,应确定级数的通项式s,变量的变化范围a和b。该函数的引用格式为:*symsum(S)求符号表达式S对于默认自变量的不定和;*symsum(S,v)求符号表达式S对于自变量v的不定和;*symsum(S,a,b)求符号表达式S对于默认自变量从a到b的有限和;*symsum(S,v,a,b)求符号表达式S对于自变量v从a到b的有限和;,第2章矩阵、数组和符号运算,【例】求级数的和:1/12+1/22+1/32+1/42+键入:symsksymsum(1/k2,1,Inf)%k值为1到无穷大ans=1/6*pi2其结果为:1/12+1/22+1/32+1/42+=2/6,第2章矩阵、数组和符号运算,例:分别计算表达式k、symskxsymsum(k)symsum(k2,0,10)symsum(xk/sym(k!),k,0,inf)ans=1/2*k2-1/2*kans=385ans=exp(x),第2章矩阵、数组和符号运算,e.Taylor级数展开(Taylorseriesexpanding)*taylor(f)计算符号表达式f对于默认自变量等于0处的5阶Taylor级数展开式;*taylor(f,n,v)计算符号表达式f在自变量v=0处的n-1阶Taylor级数展开式;*taylor(f,n,v,a)计算符号表达式f在自变量v=a处的n-1阶Taylor级数展开式。,第2章矩阵、数组和符号运算,例:分别计算表达式的5阶Taylor级数展开式和f=exsin(x)的5阶及11阶Taylor级数展开式。symsxf=1/(5+cos(x);r=taylor(f)f=exp(x*sin(x);r=taylor(f)r=taylor(f,12)r=1/6+1/72*x2r=1+x2+1/3*x4r=1+x2+1/3*x4+1/120*x6-11/560*x8-1079/362880*x10,第2章矩阵、数组和符号运算,f.傅立叶变换和傅立叶逆变换傅立叶快速离散变换MATLAB提供了fft(内置函数)、ifft、fft2、ifft2、fftn、ifftn、fftshift、ifftshift等函数,用来计算矩阵的离散快速傅立叶变换。函数fft和ifft函数fft最完整的调用格式为:Y=fft(X,dim)或Y=fft(X,n,dim)数据长度n是2次幂时,可以采用基-2算法进行快速计算。输入参数X可以是向量、矩阵。dim指定变换的实施方向。当X是矩阵时,1指明变换按列进行(默认),2指明变换按行进行。,第2章矩阵、数组和符号运算,第2章矩阵、数组和符号运算,X=1,2,3;4,5,6;7,8,9X=123456789Y=fft(X)Y=12.000015.000018.0000-4.5000+2.5981i-4.5000+2.5981i-4.5000+2.5981i-4.5000-2.5981i-4.5000-2.5981i-4.5000-2.5981i函数fft2和ifft2函数fft2和ifft2是对数据做二维快速傅立叶变换和逆傅立叶变换。数据的二维傅立叶变换fft2(X)相当于fft(fft(X),即先对X的列做一维傅立叶变换,然后对变换结果的行做一维傅立叶变换。其调用格式为:Y=fft2(X,mrows,ncols),傅立叶积分变换及其反变换离散傅立叶变换(DFT)作用于有限数据采样,傅立叶变换作用于连续函数。傅立叶变换调用格式为:F=fourier(f):求表达式f的傅立叶变换。缺省的自变量为x,缺省的返回值F是关于w的函数。F=fourier(f,v):返回函数F是关于v的函数,而不是缺省的w。F=fourier(f,u,v):对关于u的函数f进行变换,返回函数F是关于v的函数。傅立叶逆变换调用格式为:f=ifourier(F):符号表达式F的傅立叶逆变换。缺省的自变量为w,缺省返回f是关于x的函数。f=ifourier(F,u):返回函数f是关于u的函数,而不是缺省的x的函数。f=ifourier(F,v,u):对关于v的函数F进行变换,返回关于u的函数f。,第2章矩阵、数组和符号运算,symsxtwu;fourier(exp(-x2)ans=exp(-1/4*w2)*pi(1/2)fourier(exp(-x2),u)ans=exp(-1/4*u2)*pi(1/2)fourier(exp(-t2),t,u)ans=exp(-1/4*u2)*pi(1/2)ifourier(sym(fourier(f(x),x,w),w,x)ans=f(x)ifourier(exp(-w2)ans=1/2*exp(-1/4*x2)/pi(1/2),第2章矩阵、数组和符号运算,第2章矩阵、数组和符号运算,例:求阶跃信号的fourier变换,symstw;ut=sym(heaviside(t);%定义0时刻起跳的单位阶跃函数UT=fourier(ut)%实施Fourier变换,给出与理论一致的结果UTS=simple(UT)Ut=ifourier(UT,w,t)%结果与原函数相等Uts=ifourier(UTS,w,t),UT=pi*dirac(w)-i/w%dirac(w):单位冲激函数UTS=pi*dirac(w)-i/wUt=heaviside(t)Uts=heaviside(t),第2章矩阵、数组和符号运算,【例】用fourier指令求矩形脉冲的Fourier变换。symsAtwsymstaopositiveyt=sym(heaviside(t+tao/2)-heaviside(t-tao/2);%定义幅度为1、宽度为tao的矩形脉冲Yw=fourier(A*yt,t,w)Yws=simple(Yw)Yw=2*A/w*sin(1/2*tao*w)Yt=ifourier(Yw,w,t)Yt=A*(heaviside(t+1/2*tao)-heaviside(t-1/2*tao),第2章矩阵、数组和符号运算,【例】求的Fourier变换,在此x是参数,t是时间变量。本例演示:fourier的缺省调用格式的使用要十分谨慎;在被变换函数中包含多个符号变量的情况下,对被变换的自变量给予指明,可保证计算结果的正确。symstxw;ft=exp(-(t-x)*sym(heaviside(t-x);F1=simple(fourier(ft,t,w)%给出以w为频率变量的正确结果F2=simple(fourier(ft)%误把x当作时间变量F3=simple(fourier(ft,t)%误把x当作时间变量,又把t当作频率变量F1=exp(-i*x*w)/(1+i*w)F2=i*exp(-i*t*w)/(i+w)F3=i*exp(-i*t2)/(i+t),g.Laplace变换L=laplace(F)xsL=laplace(F,z)xzL=laplace(F,w,z)wzsymsxswzlaplace(sin(x)ans=1/(s2+1)laplace(sin(x),w)ans=1/(w2+1),第2章矩阵、数组和符号运算,laplace(sin(x*w)ans=w/(s2+w2)laplace(sin(x*w),w,z)ans=x/(z2+x2),第2章矩阵、数组和符号运算,【例】求的Laplace变换。symsts;symsabpositiveDt=sym(dirac(t-a);Ut=sym(heaviside(t-b);Mt=Dt,Ut;exp(-a*t)*sin(b*t),t2*exp(-t);MS=laplace(Mt,t,s)MS=e
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电竞公司知识产权管理办法
- 电竞公司销售合同管理规定
- 2026届黑龙江省黑河市通北一中化学高三第一学期期中质量跟踪监视试题含解析
- 三农产品国际市场开拓指南
- 物流行业的货物追踪与信息管理优化方案
- IT行业云计算和大数据应用方案
- 城市环境动态监测-洞察及研究
- 规范市场秩序维护消费者权益条例
- (2025年标准)果树修剪施肥协议书
- (2025年标准)国企重组协议书
- 2025至2030中国股指期货行业发展分析及发展前景与投资报告
- 美术介绍教学课件
- 2025年福建省福州左海供应链集团有限公司招聘笔试参考题库含答案解析
- 2025届上海市中考语文真题作文题目解析+范文
- 素描构图与透视教案
- 体育培训入股协议书
- 2025年职工技能大赛考核试题及答案
- 仓库运输管理方案计划
- 2025年“铸牢中华民族共同体意识”应知应会知识竞赛题库试卷及答案
- 云计算环境下的数据安全与隐私保护研究
- 传媒入股协议合同
评论
0/150
提交评论