Matlab基础简介

上传人:c****d 文档编号:243012425 上传时间:2024-09-13 格式:PPT 页数:41 大小:270KB
返回 下载 相关 举报
Matlab基础简介_第1页
第1页 / 共41页
Matlab基础简介_第2页
第2页 / 共41页
Matlab基础简介_第3页
第3页 / 共41页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第一章 Matlab基础,化工计算教程,1,1.1 Matlab简介,Matlab原意为“矩阵实验室”,是一种交互式的以矩阵为基础的系统计算平台,它用于科学和工程的计算和可视化,其优点在于快速地开发计算方法以及快速的应用,而不在于计算速度。,目的:节省用在编程上的时间,把主要精力放在算法本身及其应用上。,2,一、Matlab的特点,强大的数值计算和工程运算功能,如求解线性方程组Ax=b,A为方阵,matlab中直接x=b/A即可得结果。,高级图形和可视化数据处理能力,基于向量,数组和矩阵的高级程序设计语言,,,语言简单,编程容易,边解释边执行,语法与C语言类似。,支持科学和工程计算标准的开放式可扩充结构,matlab函数大多为ASCII形式,可以直接看原代码,也可以编辑、修改,甚至增加自己的工具箱。,极多的工具箱,目前有40多个:信号处理,神经网络,系统识别,概率统计,最优化等等。,3,二、变量,(1)变量的命名:变量的名字必须以字母开头(不超过19个字符),之后可以是字母、数字或下划线;,变量名区分字母的大小写,;变量中,不能包含有标点符号,。,(2)一些特殊的变量,ans:用于结果的缺省变量名 i、j:虚数单位,pi:圆周率 eps:计算机的最小数(相对精度),inf:无穷大 realmin:最小正实数,realmax:最大正实数 nan:不定量(not a number),(3)变量操作,在命令窗口中,同时存储着输入的命令和创建的所有变量值,它们可以在任何需要的时候被调用。如要察看变量a的值,只需要在命令窗口中输入变量的名称即可:a,4,1.2 数值计算功能,数字计算功能,向量运算功能,矩阵运算功能,数组逻辑运算功能,多项式运算功能,5,如果结果为整数,则显示没有小数;如果结果不是整数,则输出形式有:,format (short):短格式(5位定点数)99.1253,format long:长格式(15位定点数 ) 99.12345678900000,format short e:短格式e方式 9.9123e+001,format long e:长格式e方式 9.912345678900000e+001,format bank:2位十进制 99.12,format hex:十六进制格式,6,一、简单的数学运算,1、常用的数学运算符,,*(乘 ), ( 左除),/ (右除),(幂),在运算式中,MATLAB通常不需要考虑空格;多条命令可以放在一行中,它们之间需要用分号隔开;逗号告诉MATLAB显示结果,,而分号则禁止结果显示。,2、常用数学函数abs,sin,cos,tan,asin,acos,atan,sqrt,exp,imag,real,sign,log,log10,conj(共扼复数)等,7,二、向量运算功能,1,向量,向量是matlab中的一个基本单位,向量的每一个元 素的运算包括,1)向量的创建;,2)向量的加减运算;,3)向量的乘除运算,8,向量的创建,输入向量最直接的方法就是在命令窗口中输入,格式上需要向量元素用“ ”括起来,元素之间可以用空格、逗号或分号分隔。值得注意的是用空格和逗号分隔生成行向量,用分号分隔生成列向量。,在,matlab,的命令窗口键入以下字符,a = 1 2 3 4 5 6 9 8 7,a =,1 2 3 4 5 6 9 8 7,希望得到元素从,0,到,20,,步距为,2,的一个向量,只需键入以下命令即可, t = 0:2:20,t =,0 2 4 6 8 10 12 14 16 18 20,可以不要,9,向量的创建,线性等分向量的生成,y=linspace(x1,x2),生成(1*100)维的行向量,使得y(1)=x1,y(100)=x2,y=linspace(x1,x2,n),生成(1*n)维的行向量,使得y(1)=x1,y(n)=x2,对数等分向量的生成,y=logspace(x1,x2),生成(1*50)维的对数等分向量,使得y(1)=10x1,y(50)=10x2,y=logspace(x1,x2,n),生成(1*n)维的对数等分向量,使得y(1)=10x1,y(n)=10x2,例:a2=logspace(0,5,6),a2=,1 10 100 1000 10000 100000,10,向量的加减运算,设,a,b,为同维向量,则,c=a+b,或,c=a-b,得到两个向量相加减的结果。,向量与常数的相加减为每个元素加减这个常数。例如,:,b = a + 2,得到,b =,3 4 5 6 7 8 11 10 9,c = a + b,c =,4 6 8 10 12 14 20 18 16,11,向量的乘除运算,a,.,向量的乘法运算,点乘运算的运算符为,.*,,,其意义为两个向量的对应元素进行乘法运算,例如,a=1 2, b=3 4,则,c=a.*b=3 8,.,为向量的乘方运算,例如,c=a.2=1 4,b.,向量的除法运算,12,向量点积、叉积和混合积,点积,:,两个向量在其中一个向量方向上的投影的乘积,a=1,2,3; b=3,4,5;,dot(a,b),ans=(相当于sum(a.*b),26,叉积:过两相交向量的交点且垂直于两向量所在平面的向量,c=cross(a,b),c=,-2 4 -2,混合积:,dot(a,cross(b,c) ans=24,13,三、矩阵运算功能,矩阵的生成,矩阵的基本数学运算,矩阵的基本函数运算,矩阵分解函数,特殊矩阵的生成,矩阵的一些特殊操作,14,矩阵的生成,输入矩阵时每一行元素有,分号,或者,回车键,分隔。例如:,B = 1 2 3 4;5 6 7 8;9 10 11 12,B =,1 2 3 4,5 6 7 8,9 10 11 12,c=sin(pi/3),cos(pi/4); log(9),tanh(6),c=,0.8660 0.7071,2.1972 1.0000,15,矩阵下标,MATLAB通过确认矩阵下标,可以对矩阵进行插入子块,提取子块和重排子块的操作。,A(m,n,),:提取第,m,行,第,n,列元素,A(:,n,),:提取第,n,列元素,A(m,:),:提取第,m,行元素,A(m1:m2,n1:n2),:提取第,m1,行到第,m2,行和第,n1,列到 第,n2,列的所有元素(提取子块)。,A(:),:得到一个长列矢量,该矢量的元素按矩阵的列进行排列。,矩阵扩展:如果在原矩阵中一个不存在的地址位置上设定一个数(赋值),则该矩阵会自动扩展行列数,并在该位置上添加这个数,而且在其他没有指定的位置补零。,消除子块:如果将矩阵的子块赋值为空矩阵, ,,则相当于消除了相应的矩阵子块。,16,矩阵的基本数学运算,B=,1 2 3 4,5 6 7 8,9 10 11 12,(1)矩阵转置运算,:,C = B,C =,1 5 9,2 6 10,3 7 11,4 8 12,(,2,),矩阵乘法:,D = B * C,D =,30 70 110,70 174 278,110 278 446,要求B的列数等于C的行数,17,矩阵点乘、加减法,当两矩阵维数相同时,运算符加减法和,.*,的结果是两矩阵的对应元素相运算。,E = 1 2;3 4;,F = 2 3;4 5;,G = E .* F,G =,2 6,12 20,18,矩阵与常数间的运算,常数与矩阵的运算即是同此矩阵各元素之间进行运算,数除是指矩阵每个元素都除以此常数,因此常数只能作为除数,。,19,矩阵的除法(左除“|”和右除“/”),右除,要作矩阵的逆然后再作矩阵的乘法,通常速度较快,左除,不需要计算逆,直接进行除运算,可以避免被除矩阵奇异造成大的误差,解方程组:ax=b, 其中a是(n*m)的矩阵,n=m且非奇异时,恰定方程,nm时,超定方程(拟合),n x,y=eig(a),x =,-0.8246 -0.4160,0.5658 -0.9094,y =,-0.3723 0,0 5.3723,可以验证:A*V=V*D, x,y=eigs(a),x =,-0.4160 -0.8246,-0.9094 0.5658,y =,5.3723 0,0 -0.3723,矩阵的特征值及特征多项式(eig或eigs,),迭代法求解,23,奇异值函数(svd或svds),求矩阵A的奇异值及分解矩阵,满足U*S*V=A,其中U、V矩,为正交矩阵(U*U=I),S矩阵为对角矩阵,它的对角元素即A矩阵的奇异值。,例:a =,9 8,6 8,可以验证:,u*u=I,v*v=I,u*s*v=a,u,s,v=svd(a),u =,0.7705 -0.6375,0.6375 0.7705,s =,15.5765 0,0 1.5408,v =,0.6907 -0.7231,0.7231 0.6907,24,条件数函数,cond: 计算矩阵条件数的值,condest: 计算矩阵一范数的条件数的值,rcond: 计算矩阵条件数的倒数值, h=hilb(9);, cond(h),ans =,4.9315e+011,特征值的条件数:condeig, condest(h),ans =,1.0997e+012, rcond(h),ans =,9.0938e-013,25,矩阵分解函数,lu分解(,三角分解),L,U=lu(A),将A做对角线分解,使得A=L*U,其中L为下三角矩阵,U为上三角矩阵。,chol分解(chollesky分解),L=chol(a),如果A是对称正定矩阵,则存在一个实的非奇异下三角矩阵L,使得ALL,T,,当限定L的对角元素为正时,这种分解是唯一的,称为chollesky分解。,26,QR,分解,Q,R=qr(A),将矩阵A做正交化分解,使得Q*R=A,其中Q为正交矩阵(其范数为1,指令norm(Q)=1),R为对角化的上三角矩阵。,27,特殊矩阵的生成,一些常用的特殊矩阵,单位矩阵:eye(m,n); eye(m),零矩阵:zeros(m,n); zeros(m),一矩阵:ones(m,n); ones(m),对角矩阵:对角元素向量 V=a1,a2,an A=diag(V),随机矩阵:rand(m,n)产生一个m*n的均匀分布的随机矩阵, randn(m,n)产生一个m*n的正态随机阵,28,四、数组逻辑运算功能,基本逻辑关系运算,在关系比较中,若比较双方为同维数组。其元素值由,0,和,1,组成,当比较双方对应位置上的元素值满足比较关系时,对应值为,1,,否则为,0,。,当比较双方中一方为常数,另一方为数组时,则结果数组与原数组同维,且其值为已知数组和常数的比较结果。,“与”:当运算双方的对应元素均为非零时结果为,1,,否则为,0,。 “或”:当运算双方的对应元素有一非零时结果为,1,,否则为,0,。 “非”:当运算数组的对应位置的值为零时结果为,1,,否则为,0,。,在算术运算、比较运算和逻辑与、非、或运算中,他们的优先级关系为:算术运算,比较运算,逻辑与、或、非运算,29,符号运算符,功能,函数名,=,等于,eq,=,不等于,ne,大于,gt,=,大于等于,ge,&,逻辑与,and,|,逻辑或,or,逻辑非,not,30,逻辑关系函数运算,函数名,使用说明,函数名,使用说明,any,若向量的任意元素不为零时返回真,Islogical,判断逻辑数组,all,若向量的所有元素不为零时返回真,logical,转换数组为逻辑型,xor,逻辑异或,find,寻找非零元素位置,isempty,判断空矩阵,isnan,判断不定数,isequal,判断相等矩阵,isinf,判断无限大元素,isnumeric,判断数值矩阵,isfinite,判断有限大元素,31,五、多项式运算功能,多项式的表示方法,多项式的运算,32,多项式的表示方法,多项式的表达约定:,对于多项式 :,用以下行向量表示,这样就把多项式问题转化成为向量问题,33,系数向量的直接输入法, a=1 2 3 4;, b=a;, poly2sym(a),ans =,x3+2*x2+3*x+4, poly2sym(b),ans =,x3+2*x2+3*x+4,34,特征多项式,由特征多项式生成的多项式的首项系数一定是,1,n,阶矩阵一般产生,n,阶多项式, a=1 2 3;2 3 4;3 4 5;, p1=poly(a),p1 =,1.0000 -9.0000 -6.0000 -0.0000, poly2sym(p1),ans =,x3-9*x2-6*x-8399472/25353012,35,由根创建多项式,同样用poly函数,其实由矩阵直接创建也是把矩阵的特征值作为多项式形成的方程的根, root=-5 -3+4i -3-4i;, p=poly(root),p =,1 11 55 125, poly2sym(p),ans =,x3+11*x2+55*x+125,36,求多项式的值,输入变量值代入多项式计算时以数组为单元,此时的计算函数为,polyval,.,输入变量值代入多项式计算时以矩阵为单元,进行矩阵式运算,此时的计算函数为,polyvalm,.,p,=1 11 55 155;, b=1 1;1 1;, polyval(p,b),ans =,222 222,222 222, polyvalm(p,b),ans =,236 81,81 236,z = polyval(1 0 0 0 1,2),z =,17,37,求多项式的根,直接调用求根函数,roots,,求解所有根,通过建立多项式的伴随矩阵再求其特征值得解, p=2 -5 6 -1 9;, roots(p),ans =,1.6024 + 1.2709i,1.6024 - 1.2709i,-0.3524 + 0.9755i,-0.3524 - 0.9755i, compan(p),ans =,2.5000 -3.0000 0.5000 -4.5000,1.0000 0 0 0,0 1.0000 0 0,0 0 1.0000 0, eig(ans),ans =,1.6024 + 1.2709i,1.6024 - 1.2709i,-0.3524 + 0.9755i,-0.3524 - 0.9755i,38,多项式拟合,多项式拟合又称为曲线拟合,其目的就是在众多的样本点中进行拟合,找出满足样本点分布的多项式。这在分析实验数据,将实验数据做解析描述时非常有用。,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),39,40,多项式插值,多项式插值是指根据给定的有限个样本点,产生另外的估计点以达到数据更为平滑的效果。该技巧在信号处理与图像处理上应用广泛。,所用指令有一维的interp1、二维的interp2、三维的interp3。这些指令分别有不同的方法,设计者可以根据需要选择适当的方法,以满足系统属性的要求。Help polyfun可以得到更详细的内容。,y=interp1(xs,ys,x,method),在有限样本点向量xs与ys中,插值产生向量x和y,所用方法定义在method中,有4种选择:,nearest:执行速度最快,输出结果为直角转折,linear:默认值,在样本点上斜率变化很大,spline:最花时间,但输出结果也最平滑,cubic:最占内存,输出结果与spline差不多,41,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


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

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


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