Matlab及其工程应用基础.ppt_第1页
Matlab及其工程应用基础.ppt_第2页
Matlab及其工程应用基础.ppt_第3页
Matlab及其工程应用基础.ppt_第4页
Matlab及其工程应用基础.ppt_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

,第3章矩阵、数组和符号运算,二、符号及运算掌握内容:(1)了解MATLAB6.0的符号变量,掌握MATLAB符号表达式、符号矩阵的两种创建方法。(2)掌握MATLAB符号数学函数的创建。(3)掌握符号矩阵的基本运算及MATLAB关于不同精度的控制方法。(4)掌握符号微积分内容,包括求函数的极限、对符号表达式求导数和微分、符号积分、符号求和、傅立叶变换及其逆变换等。(5)掌握各种符号方程的求解方法和函数命令。(6)了解MATLAB可视化的符号函数分析界面及使用。(7)初步了解MAPLE的符号资源。,第3章矩阵、数组和符号运算,抽象运算:公式推导、因式分解、求解代数方程或微分方程的精确解符号数学工具箱1)通过基本符号数学工具箱的专用函数;符号表达式和符号矩阵的操作;多项式的化简、展开和代入;线性代数;微积分;符号方程的求解;特殊的数学函数。2)通过maple.m、mpa.m两个专门设计的M文件进行符号运算;3)通过MATLAB中的函数计算器(FunctionCaculator)。,第3章矩阵、数组和符号运算,1、符号变量的创建a.sym函数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:表示十进制小数。,第3章矩阵、数组和符号运算,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函数symsarg1arg2.symsabcxy,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,第3章矩阵、数组和符号运算,第3章矩阵、数组和符号运算,这种方法输入符号矩阵与字符串矩阵的输入相似。但要保证在同一列中各元素字符串有同样的长度,在较短的字符串前后用空格符填充;这种方法要求符号矩阵每一行的两端都有方括号,而字符串矩阵仅在首尾有方括号。B=4+xx2x;x35*x-3x*aB=4+xx2xx35*x-3x*a,第3章矩阵、数组和符号运算,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,第3章矩阵、数组和符号运算,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不能创建符号方程,第3章矩阵、数组和符号运算,3、数字矩阵和符号矩阵的转换MATLAB中的数值型、字符型和符号型三种数据类型中数值变量级别最低,字符变量级别居中,符号变量级别最高;三种变量参与的混合运算,系统将会把所有参与运算的变量自动统一转换为变量等级最高的类型,然后进行计算;可以通过命令来完成对不同数据类型之间的转换,大致可以分为三种情况:转换为数值变量:double,str2num,numeric转化为符号变量:sym转化为字符变量:int2str,num2str,第3章矩阵、数组和符号运算,4、MATLAB关于不同精度的控制针对浮点运算的数值算法计算速度最快,占用计算机内存最少的算法,与C、FORTRAN语言中的浮点运算算法完全相同。在机器内的表达和计算都是一个被“截断”的8位浮点近似值。针对精确运算的符号算法计算时间最长,内存占用最多,精度也最高。任意精度的算法运算时间、内存占用和计算精度均介于以上两种运算之间。采用函数digits来控制十进制结果的有效位数。digits的缺省值为32,大约对应于浮点精度。符号数学工具箱中,用vpa函数执行任意精度运算。,第3章矩阵、数组和符号运算,symsxf=x-cos(x)f=x-cos(x)f1=subs(f,x,pi)%将符号表达式中的变量替换为另一变量f1=pi+1digits(25)vpa(f1)ans=4.141592653589793238462643vpa(f1,6)ans=4.14159numeric(f1)ans=4.1416double(f1)ans=4.1416,5、符号矩阵的运算基本运算四则运算两个符号矩阵的大小相等方可进行加减运算,符号矩阵和符号标量的加减运算按照数组运算规则进行;两个符号矩阵只有内积相等时才可以进行乘法运算;符号的乘方运算Sp,若S为符号表达式,p可以为符号表达式或数值表达式;若S为符号矩阵,则p必须是整数。,第3章矩阵、数组和符号运算,第3章矩阵、数组和符号运算,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*x36+2*x3+10*x2+14*x,-1/2*x3-2*x2-3/2*xa.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,第3章矩阵、数组和符号运算,矩阵运算aans=1/conj(x),1/(2+conj(x)1/(1+conj(x),1/(3+conj(x)inv(a)ans=1/2*x*(x+1)*(x+2),-1/2*x*(x+3)*(x+2)-1/2*x*(x+3)*(x+1),1/2*(x+3)*(x+1)*(x+2)det(a)ans=2/x/(x+3)/(x+1)/(x+2)rank(a)ans=2,eig(b)ans=1/2*x+1/2*(x2+4*x+8)(1/2)1/2*x-1/2*(x2+4*x+8)(1/2)triu(a)ans=1/x,1/(x+1)0,1/(x+3)diag(a)ans=1/x1/(x+3)tril(a)ans=1/x,01/(x+2),1/(x+3),第3章矩阵、数组和符号运算,b.符号矩阵的简化因式分解symsxfactor(x9-1)ans=(x-1)*(x2+x+1)*(x6+x3+1)符号矩阵展开symsxyexpand(x+1)3)ans=x3+3*x2+3*x+1expand(sin(x+y)ans=sin(x)*cos(y)+cos(x)*sin(y),同类项合并symsxycollect(x2*y+y*x-x2-2*x)ans=(y-1)*x2+(y-2)*x分式通分symsxyn,d=numden(x/y+y/x)n=x2+y2d=y*x,符号简化symsxsimple(cos(x)2-sin(x)2)simplify:2*cos(x)2-1radsimp:cos(x)2-sin(x)2combine(trig):cos(2*x)factor:(cos(x)-sin(x)*(cos(x)+sin(x)expand:cos(x)2-sin(x)2combine:cos(2*x),第3章矩阵、数组和符号运算,convert(exp):(1/2*exp(i*x)+1/2/exp(i*x)2+1/4*(exp(i*x)-1/exp(i*x)2convert(sincos):cos(x)2-sin(x)2convert(tan):(1-tan(1/2*x)2)2/(1+tan(1/2*x)2)2-4*tan(1/2*x)2/(1+tan(1/2*x)2)2collect(x):cos(x)2-sin(x)2ans=cos(2*x)simplify(cos(x)2-sin(x)2)ans=2*cos(x)2-1simplify(sin(x)2+cos(x)2)ans=1,第3章矩阵、数组和符号运算,第3章矩阵、数组和符号运算,6、符号微积分Matlab自变量确定原则:除i、j外,字母位置最接近x的小写字母为自变量;如果表达式中没有变量,x会被视为默认的变量。由函数findsym可一找到默认变量a.符号极限limit(F,x,a)limit(F,a),变量为由findsym定义的默认变量limit(F,x,a,right)/limit(F,x,a,left)Limit(F),a=0symsxathlimit(sin(x)/x)ans=1limit(1+2*t/x)(3*x),x,inf)ans=exp(6*t),limit(1/x,x,0,right)ans=inf,b.符号积分int(S)不定积分int(S,v)int(S,a,b)定积分int(S,v,a,b)symsxx1alphaut;A=cos(x*t),sin(x*t);-sin(x*t),cos(x*t)A=cos(x*t),sin(x*t)-sin(x*t),cos(x*t)int(A,t)ans=1/x*sin(x*t),-cos(x*t)/xcos(x*t)/x,1/x*sin(x*t)int(x1*log(1+x1),0,1)ans=1/4,第3章矩阵、数组和符号运算,符号合计函数Symsum(S)Symsum(S,v)Symsum(S,a,b)symskn;simplify(symsum(k)ans=1/2*k2-1/2*ksimplify(symsum(k2,0,n)ans=1/3*n3+1/2*n2+1/6*nsimplify(symsum(k2,0,10)ans=385,c.符号微分和差分微分和差分Diff(S)Diff(S,v)Diff(S,n)Diff(S,v,n)symsxdiff(sin(x2)ans=2*cos(x2)*xdiff(t6,6)ans=720,第3章矩阵、数组和符号运算,symsxt;A=cos(x*t),sin(x*t);-sin(x*t),cos(x*t)A=cos(x*t),sin(x*t)-sin(x*t),cos(x*t)diff(A,x)%diff(A,x)ans=-sin(x*t)*t,cos(x*t)*t-cos(x*t)*t,-sin(x*t)*tdiff(A,t,2)ans=-cos(x*t)*x2,-sin(x*t)*x2sin(x*t)*x2,-cos(x*t)*x2,第3章矩阵、数组和符号运算,梯度函数DF=gradient(F)一维梯度FX,FY=gradient(F)二维梯度FX,FY=gradient(F,H)FX,FY=gradient(F,HX,HY)FX,FY,FZ=gradient(F)三维梯度FX,FY,FZ=gradient(F,HX,HY,HZ)H指定间距,默认为1x,y=meshgrid(-2:0.2:2,-2:0.2:2);z=x.*exp(-x.2-y.2);px,py=gradient(z,0.2,0.2);contour(z)holdonquiver(px,py)%画矢量图holdoff,d.傅立叶变换和傅立叶逆变换傅立叶快速离散变换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指明变换按行进行。,第3章矩阵、数组和符号运算,第3章矩阵、数组和符号运算,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),和函数fft2和ifft2类似,函数fftn和ifftn对数据做多维快速傅立叶变换。函数fftshift和ifftshift函数fftshift用于把傅立叶变换结果(频域数据)中的直流分量(频率为0处的值)移到中间位置。其调用格式为:Y=fftshift(X)X=rand(3,3)X=0.95010.48600.45650.23110.89130.01850.60680.76210.8214Y=fft(X)Y=1.78812.13941.29640.5311+0.3254i-0.3407-0.1119i0.0365+0.6953i0.5311-0.3254i-0.3407+0.1119i0.0365-0.6953i,第3章矩阵、数组和符号运算,Y1=fftshift(X)Y1=0.82140.60680.76210.45650.95010.48600.01850.23110.8913,傅立叶积分变换及其反变换离散傅立叶变换(DFT)作用于有限数据采样,傅立叶变换作用于连续函数。傅立叶变换调用格式为:F=fourier(f):求表达式f的傅立叶变换。缺省的自变量为x,缺省的返回值是关于w的函数。F=fourier(f,v):返回函数F是关于符号表达式对象v的函数,而不是缺省的w。F=fourier(f,u,v):对关于u的函数f进行变换,返回函数F是关于v的函数。傅立叶逆变换调用格式为:f=ifourier(F):符号表达式对象F的傅立叶逆变换。缺省的自变量为w,缺省返回是关于x的函数。f=ifourier(F,u):返回函数f是关于符号表达式对象u的函数,而不是缺省的x的函数。f=ifourier(F,v,u):对关于v的函数F进行变换,返回关于u的函数f。,第3章矩阵、数组和符号运算,symsxtwu;fourier(exp(-x2)ans=pi(1/2)*exp(-1/4*w2)fourier(exp(-x2),u)ans=pi(1/2)*exp(-1/4*u2)fourier(exp

温馨提示

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

评论

0/150

提交评论