《Matlab基础简介》PPT课件.ppt_第1页
《Matlab基础简介》PPT课件.ppt_第2页
《Matlab基础简介》PPT课件.ppt_第3页
《Matlab基础简介》PPT课件.ppt_第4页
《Matlab基础简介》PPT课件.ppt_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

第一章Matlab基础,化工计算教程,1.1Matlab简介,Matlab原意为“矩阵实验室”,是一种交互式的以矩阵为基础的系统计算平台,它用于科学和工程的计算和可视化,其优点在于快速地开发计算方法以及快速的应用,而不在于计算速度。目的:节省用在编程上的时间,把主要精力放在算法本身及其应用上。,一、Matlab的特点,强大的数值计算和工程运算功能如求解线性方程组Ax=b,A为方阵,matlab中直接x=b/A即可得结果。高级图形和可视化数据处理能力基于向量,数组和矩阵的高级程序设计语言,语言简单,编程容易,边解释边执行,语法与C语言类似。支持科学和工程计算标准的开放式可扩充结构matlab函数大多为ASCII形式,可以直接看原代码,也可以编辑、修改,甚至增加自己的工具箱。极多的工具箱目前有40多个:信号处理,神经网络,系统识别,概率统计,最优化等等。,二、变量,(1)变量的命名:变量的名字必须以字母开头(不超过19个字符),之后可以是字母、数字或下划线;变量名区分字母的大小写;变量中不能包含有标点符号。(2)一些特殊的变量ans:用于结果的缺省变量名i、j:虚数单位pi:圆周率eps:计算机的最小数(相对精度)inf:无穷大realmin:最小正实数realmax:最大正实数nan:不定量(notanumber)(3)变量操作在命令窗口中,同时存储着输入的命令和创建的所有变量值,它们可以在任何需要的时候被调用。如要察看变量a的值,只需要在命令窗口中输入变量的名称即可:a,1.2数值计算功能,数字计算功能向量运算功能矩阵运算功能数组逻辑运算功能多项式运算功能,如果结果为整数,则显示没有小数;如果结果不是整数,则输出形式有:format(short):短格式(5位定点数)99.1253formatlong:长格式(15位定点数)99.12345678900000formatshorte:短格式e方式9.9123e+001formatlonge:长格式e方式9.912345678900000e+001formatbank:2位十进制99.12formathex:十六进制格式,一、简单的数学运算,1、常用的数学运算符,*(乘),(左除),/(右除),(幂)在运算式中,MATLAB通常不需要考虑空格;多条命令可以放在一行中,它们之间需要用分号隔开;逗号告诉MATLAB显示结果,而分号则禁止结果显示。2、常用数学函数abs,sin,cos,tan,asin,acos,atan,sqrt,exp,imag,real,sign,log,log10,conj(共扼复数)等,二、向量运算功能,1向量向量是matlab中的一个基本单位,向量的每一个元素的运算包括1)向量的创建;2)向量的加减运算;3)向量的乘除运算,向量的创建,输入向量最直接的方法就是在命令窗口中输入,格式上需要向量元素用“”括起来,元素之间可以用空格、逗号或分号分隔。值得注意的是用空格和逗号分隔生成行向量,用分号分隔生成列向量。在matlab的命令窗口键入以下字符a=123456987a=123456987希望得到元素从0到20,步距为2的一个向量,只需键入以下命令即可t=0:2:20t=02468101214161820,可以不要,向量的创建,线性等分向量的生成y=linspace(x1,x2)生成(1*100)维的行向量,使得y(1)=x1,y(100)=x2y=linspace(x1,x2,n)生成(1*n)维的行向量,使得y(1)=x1,y(n)=x2对数等分向量的生成y=logspace(x1,x2)生成(1*50)维的对数等分向量,使得y(1)=10x1,y(50)=10x2y=logspace(x1,x2,n)生成(1*n)维的对数等分向量,使得y(1)=10x1,y(n)=10x2例:a2=logspace(0,5,6)a2=110100100010000100000,向量的加减运算,设a,b为同维向量,则c=a+b或c=a-b得到两个向量相加减的结果。向量与常数的相加减为每个元素加减这个常数。例如:b=a+2得到b=34567811109c=a+bc=468101214201816,向量的乘除运算,a.向量的乘法运算点乘运算的运算符为.*,其意义为两个向量的对应元素进行乘法运算,例如a=12,b=34则c=a.*b=38.为向量的乘方运算,例如c=a.2=14b.向量的除法运算,向量点积、叉积和混合积,点积:两个向量在其中一个向量方向上的投影的乘积a=1,2,3;b=3,4,5;dot(a,b)ans=(相当于sum(a.*b)26叉积:过两相交向量的交点且垂直于两向量所在平面的向量c=cross(a,b)c=-24-2混合积:dot(a,cross(b,c)ans=24,三、矩阵运算功能,矩阵的生成矩阵的基本数学运算矩阵的基本函数运算矩阵分解函数特殊矩阵的生成矩阵的一些特殊操作,矩阵的生成,输入矩阵时每一行元素有分号或者回车键分隔。例如:B=1234;5678;9101112B=123456789101112c=sin(pi/3),cos(pi/4);log(9),tanh(6)c=0.86600.70712.19721.0000,矩阵下标,MATLAB通过确认矩阵下标,可以对矩阵进行插入子块,提取子块和重排子块的操作。A(m,n):提取第m行,第n列元素A(:,n):提取第n列元素A(m,:):提取第m行元素A(m1:m2,n1:n2):提取第m1行到第m2行和第n1列到第n2列的所有元素(提取子块)。A(:):得到一个长列矢量,该矢量的元素按矩阵的列进行排列。矩阵扩展:如果在原矩阵中一个不存在的地址位置上设定一个数(赋值),则该矩阵会自动扩展行列数,并在该位置上添加这个数,而且在其他没有指定的位置补零。消除子块:如果将矩阵的子块赋值为空矩阵,则相当于消除了相应的矩阵子块。,矩阵的基本数学运算,B=123456789101112,(1)矩阵转置运算:C=BC=159261037114812,(2)矩阵乘法:D=B*CD=307011070174278110278446,要求B的列数等于C的行数,矩阵点乘、加减法,当两矩阵维数相同时,运算符加减法和.*的结果是两矩阵的对应元素相运算。E=12;34;F=23;45;G=E.*FG=261220,矩阵与常数间的运算,常数与矩阵的运算即是同此矩阵各元素之间进行运算数除是指矩阵每个元素都除以此常数,因此常数只能作为除数。,矩阵的除法(左除“|”和右除“/”),右除要作矩阵的逆然后再作矩阵的乘法,通常速度较快左除不需要计算逆,直接进行除运算,可以避免被除矩阵奇异造成大的误差解方程组:ax=b,其中a是(n*m)的矩阵n=m且非奇异时,恰定方程nm时,超定方程(拟合)nx,y=eig(a)x=-0.8246-0.41600.5658-0.9094y=-0.3723005.3723可以验证:A*V=V*D,x,y=eigs(a)x=-0.4160-0.8246-0.90940.5658y=5.372300-0.3723,矩阵的特征值及特征多项式(eig或eigs),迭代法求解,奇异值函数(svd或svds),求矩阵A的奇异值及分解矩阵,满足U*S*V=A,其中U、V矩为正交矩阵(U*U=I),S矩阵为对角矩阵,它的对角元素即A矩阵的奇异值。例:a=9868可以验证:u*u=Iv*v=Iu*s*v=a,u,s,v=svd(a)u=0.7705-0.63750.63750.7705s=15.5765001.5408v=0.6907-0.72310.72310.6907,条件数函数,cond:计算矩阵条件数的值condest:计算矩阵一范数的条件数的值rcond:计算矩阵条件数的倒数值h=hilb(9);cond(h)ans=4.9315e+011特征值的条件数:condeig,condest(h)ans=1.0997e+012rcond(h)ans=9.0938e-013,矩阵分解函数,lu分解(三角分解)L,U=lu(A)将A做对角线分解,使得A=L*U,其中L为下三角矩阵,U为上三角矩阵。chol分解(chollesky分解)L=chol(a)如果A是对称正定矩阵,则存在一个实的非奇异下三角矩阵L,使得ALLT,当限定L的对角元素为正时,这种分解是唯一的,称为chollesky分解。,QR分解Q,R=qr(A)将矩阵A做正交化分解,使得Q*R=A,其中Q为正交矩阵(其范数为1,指令norm(Q)=1),R为对角化的上三角矩阵。,特殊矩阵的生成,一些常用的特殊矩阵单位矩阵:eye(m,n);eye(m)零矩阵:zeros(m,n);zeros(m)一矩阵:ones(m,n);ones(m)对角矩阵:对角元素向量V=a1,a2,anA=diag(V)随机矩阵:rand(m,n)产生一个m*n的均匀分布的随机矩阵,randn(m,n)产生一个m*n的正态随机阵,四、数组逻辑运算功能,基本逻辑关系运算在关系比较中,若比较双方为同维数组。其元素值由0和1组成,当比较双方对应位置上的元素值满足比较关系时,对应值为1,否则为0。当比较双方中一方为常数,另一方为数组时,则结果数组与原数组同维,且其值为已知数组和常数的比较结果。“与”:当运算双方的对应元素均为非零时结果为1,否则为0。“或”:当运算双方的对应元素有一非零时结果为1,否则为0。“非”:当运算数组的对应位置的值为零时结果为1,否则为0。在算术运算、比较运算和逻辑与、非、或运算中,他们的优先级关系为:算术运算比较运算逻辑与、或、非运算,逻辑关系函数运算,五、多项式运算功能,多项式的表示方法多项式的运算,多项式的表示方法,多项式的表达约定:对于多项式:用以下行向量表示这样就把多项式问题转化成为向量问题,系数向量的直接输入法,a=1234;b=a;poly2sym(a)ans=x3+2*x2+3*x+4poly2sym(b)ans=x3+2*x2+3*x+4,特征多项式,由特征多项式生成的多项式的首项系数一定是1n阶矩阵一般产生n阶多项式,a=123;234;345;p1=poly(a)p1=1.0000-9.0000-6.0000-0.0000poly2sym(p1)ans=x3-9*x2-6*x-8399472/25353012,由根创建多项式,同样用poly函数,其实由矩阵直接创建也是把矩阵的特征值作为多项式形成的方程的根,root=-5-3+4i-3-4i;p=poly(root)p=11155125poly2sym(p)ans=x3+11*x2+55*x+125,求多项式的值,输入变量值代入多项式计算时以数组为单元,此时的计算函数为polyval.输入变量值代入多项式计算时以矩阵为单元,进行矩阵式运算,此时的计算函数为polyvalm.,p=11155155;b=11;11;polyval(p,b)ans=222222222222polyvalm(p,b)ans=2368181236,z=polyval(10001,2)z=17,求多项式的根,直接调用求根函数roots,求解所有根通过建立多项式的伴随矩阵再求其特征值得解,p=2-56-19;roots(p)ans=1.6024+1.2709i1.6024-1.2709i-0.3524+0.9755i-0.3524-0.9755i,compan(p)ans=2.5000-3.00000.5000-4.50001.000000001.000000001.00000eig(ans)ans=1.6024+1.2709i1.6024-1.2709i-0.3524+0.9755i-0.3524-0.9755i,多项式拟合,多项式拟合又称为曲线拟合,其目的就是在众多的样本点中进行拟合,找出满足样本点分布的多项式。这在分析实验数据,将实验数据做解析描述时非常有用。polyfit(X,Y,n)X,Y为拟合数据,n为拟合多项式的阶数p,s=polyfit(X,Y,n)p为拟合多项式系数向量,s为结构信息,x=0:pi/20:pi/2;y=sin(x);a=polyfit(x,y,5);x1=0:pi/30:pi*2;y1=sin(x1);y2=a(1)*x1.5+a(2)*x1.4+a(3)*x1.3+a(4)*x1.2+a(5)*x1+a(6);plot(x1,y1,b-,x1,y2,r*)legend(原曲线,拟合曲线)axis(0,7,-1.2,4),多项式插值,多项式插值是指根据给定的有限个样本点,产生另外的估计点以达到数据更为平滑的效果。该技巧在信号处

温馨提示

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

评论

0/150

提交评论