工程应用基础

上传人:hy****d 文档编号:242867637 上传时间:2024-09-10 格式:PPT 页数:32 大小:666KB
返回 下载 相关 举报
工程应用基础_第1页
第1页 / 共32页
工程应用基础_第2页
第2页 / 共32页
工程应用基础_第3页
第3页 / 共32页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第3章 矩阵、数组和符号运算,一、矩阵和数组运算,要求内容:,( 1)熟练掌握,矩阵的创建,。,( 2)掌握,矩阵运算,和,数组运算,。,( 3)学会如何使用,矩阵运算函数,和,数组运算函数,。,( 4)注意区分矩阵和数组的差别,特别是运算符的差别。,( 6)了解,多项式,的创建方法和基本运算。,1,MATLAB,以,矩阵,为基本的运算单元,,向量和标量,作为特殊的矩阵处理:,向量,看作只有一行或一列的矩阵;,标量,看作只有一个元素的矩阵。,1、,矩阵的构造,a.,直接输入,b.,利用,内部函数,产生矩阵,c.,利用,M,文件,产生矩阵,d.,从,外部数据文件,调入矩阵,第3章 矩阵、数组和符号运算,2,第3章 矩阵、数组和符号运算,a.,直接输入,直接输入需遵循以下,基本规则,:,整个矩阵应以“ ”为首尾,即整个输入矩阵必须包含在方括号中;,矩阵中,行与行之间必须用分号,“ ;”,或,Enter,键( 按,Enter,键)符分隔;,每行中的元素用逗号,“ ,”,或,空格,分隔;,矩阵中的元素可以是,数字或表达式,,但表达式中不可包含未知的变量,,MATLAB,用表达式的值为该位置的矩阵元素赋值。当矩阵中没有任何元素时,该矩阵被称作“ 空阵”(,Empty Matrix)。,3, A=1,2,3,4;5,6,7,8;9,10,11,12;13,14,15,16,A =,1 2 3 4,5 6 7 8,9 10 11 12,13 14 15 16,利用表达式输入,B=1,sqrt(25),9,13,2,6,10,7*2,3+sin(pi),7,11,15,4,abs(-8),12,16,B =,1 5 9 13,2 6 10 14,3 7 11 15,4 8 12 16,第3章 矩阵、数组和符号运算,4,第3章 矩阵、数组和符号运算,由向量构成矩阵,向量是组成,矩阵的基本元素,之一。向量元素需要用方括号括起来。元素之间用,空格,和,逗号,分隔生成,行向量,,用,分号,隔开生成,列向量,。可以把,行向量,看成,1,n,阶矩阵,,把,列向量,看成,n,1,阶矩阵。,向量的构造方法:,直接输入向量,利用冒号生成向量,利用,linspace/logspace,生成向量, a=1,2,3,4;, x=0:0.5:2;,% x=,logspace(a,b,n,),生成有,n,个元素的行向量,x,,其元素起点,x(1)=10,a,,,终点,x(n)=10,b,。, b=logspace(0,2,4),b =,1.0000 4.6416 21.5443 100.0000,5, x,x =,0 0.5000 1.0000 1.5000 2.0000,% x=linspace(a,b,n),生成有,n,个元素的行向量,x,,其元素值在,a、b,之间线性分布。,y=linspace(0,2,7),y =,0 0.3333 0.6667 1.0000 1.3333 1.6667 2.0000, z=-1 x 3,z =,-1.0000 0 0.5000 1.0000 1.5000 2.0000 3.0000, u=y;z,u =,0 0.3333 0.6667 1.0000 1.3333 1.6667 2.0000,-1.0000 0 0.5000 1.0000 1.5000 2.0000 3.0000,第3章 矩阵、数组和符号运算,6,第3章 矩阵、数组和符号运算,b.,利用内部函数产生矩阵,%compan,生成,x,向量的伴随矩阵,x=2,4,6,8,10,x =,2 4 6 8 10,compan,(x),ans =,-2 -3 -4 -5 -6,1 0 0 0 0,0 1 0 0 0,0 0 1 0 0,0 0 0 1 0,% eye,生成单位阵, S=,eye,(6),S =,1 0 0 0 0 0,0 1 0 0 0 0,0 0 1 0 0 0,0 0 0 1 0 0,0 0 0 0 1 0,0 0 0 0 0 1,% ones,生成全部元素为 1 的矩阵,ones,(3,4) ans =,1 1 1 1,1 1 1 1,1 1 1 1, F=5*ones(3),F =,5 5 5,5 5 5,5 5 5,% zeros,生成全部元素为0的矩阵, Z=,zeros,(2,4),Z =,0 0 0 0,0 0 0 0,% rand,生成均匀分布的随机矩阵, R=,rand,(4),R =,0.9501 0.8913 0.8214 0.9218,0.2311 0.7621 0.4447 0.7382,0.6068 0.4565 0.6154 0.1763,0.4860 0.0185 0.7919 0.4057,%生成空阵, K=,K =,7,第3章 矩阵、数组和符号运算,c.,利用,M,文件产生矩阵,A=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,8,第3章 矩阵、数组和符号运算,d.,从外部数据文件调入矩阵,用,load,命令输入,用,Import,菜单输入,9,第3章 矩阵、数组和符号运算,2、,矩阵元素的修改,A=1,2,3,4;5,6,7,8;9,10,11,12;13,14,15,16,A =,1 2 3 4,5 6 7 8,9 10 11 12,13 14 15 16, A(1,1),ans =,1, A(2,3),ans =,7, A(1,1)=0;A(2,2)=A(1,2)+A(2,1);A(4,4)=cos(0);, A,A =,0 2 3 4,5 7 7 8,9 10 11 12,13 14 15 1,10,第3章 矩阵、数组和符号运算,3、矩阵的运算,矩阵运算按照,线性代数中基本的运算法则,进行;,加减运算必须在具有相同行列的矩阵之间进行;,只有当,矩阵,A,的列数和矩阵,B,的行数相同时,,才可进行矩阵,A,和,B,的,乘法运算,;,乘方运算,只有在矩阵为,方阵,时才有意义;,当一个,矩阵,和一个,标量,( 11 的矩阵)进行运算时,其结果将是此,标量和矩阵中的每一个元素,“ 相加”、“ 相减”、“ 相乘”、“ 相除”;,在,MATLAB,中,矩阵左除和右除的含义不同。矩阵右除定义为:,BA=(A/B),。,11,第3章 矩阵、数组和符号运算,a.,矩阵的加减运算,A=1,2,3,4;5,6,7,8;9,10,11,12;13,14,15,16, B=1,sqrt(25),9,13,2,6,10 7*2,3+sin(pi),7,11,15,4,abs(-8),12,16, C=A+B,C =,2 7 12 17,7 12 17 22,12 17 22 27,17 22 27 32, D=A-B,D =,0 -3 -6 -9,3 0 -3 -6,6 3 0 -3,9 6 3 0, E=A+3,E =,4 5 6 7,8 9 10 11,12 13 14 15,16 17 18 19,12,第3章 矩阵、数组和符号运算,b.,矩阵乘法,C=A*B,C =,30 70 110 150,70 174 278 382,110 278 446 614,150 382 614 846, D=A*3,D =,3 6 9 12,15 18 21 24,27 30 33 36,39 42 45 48,c.,矩阵除法,左除,AB=inv(A)*B, A=8,1,6;3,5,7;4,9,2,A =,8 1 6,3 5 7,4 9 2, B=1,1,1;1,2,3;1,3,6,B =,1 1 1,1 2 3,1 3 6, AB,ans =,0.0667 0.0500 0.0972,0.0667 0.3000 0.6389,0.0667 0.0500 -0.0694, C=inv(A),C =,0.1472 -0.1444 0.0639,-0.0611 0.0222 0.1056,-0.0194 0.1889 -0.1028, C*B,ans =,0.0667 0.0500 0.0972,0.0667 0.3000 0.6389,0.0667 0.0500 -0.0694,右除,A/B =A*inv(B), A/B,ans =,27 -31 12,1 2 0,-13 29 -12, D=inv(B),D =,3 -3 1,-3 5 -2,1 -2 1, A*D,ans =,27 -31 12,1 2 0,-13 29 -12,13,第3章 矩阵、数组和符号运算,当对矩阵作,除法运算,时,有可能因为误差设置的差别导致不精确的结果,此时,,MATLAB,会自动给出警告信息:,MATLAB,采用,IEEE(,国际认可的)算法,即使,A,为奇异阵,( 即,A,的行列式值是0),运算也照样进行,但是此时,MATLAB,将给出警告信息:“,Warning: Matrix is singular to working precision.”,,求出的矩阵所有元素为无穷大(,Inf);,当矩阵,A,为,病态阵,(,Badly Scaled),时,,MATLAB,使用的算法产生的误差可能很大,,MATLAB,系统也将给出警告信息:“,Warning: Matrix is badly scaled to working precision. Results may be inaccurate.”。, E=1,2,3;4,5,6;7,8,9,E =,1 2 3,4 5 6,7 8 9, F=1,4,7;2,5,8;3,6,9,F =,1 4 7,2 5 8,3 6 9, EF,Warning: Matrix is close to singular or badly scaled.,Results may be inaccurate. RCOND = 1.541976e-018.,ans =,-0.3333 -7.3333 -14.3333,0.6667 11.6667 22.6667,0 -4.0000 -8.0000,14,第3章 矩阵、数组和符号运算,4、,矩阵的函数,a.,矩阵的基本变换函数,A=3,3,5;2,4,6;7,8,9 %,创建方阵,A,A =,3 3 5,2 4 6,7 8 9, inv(A) %,矩阵的逆(,A,必须为非奇异方阵),ans =,0.5000 -0.5417 0.0833,-1.0000 0.3333 0.3333,0.5000 0.1250 -0.2500, A %,矩阵的转置,ans =,3 2 7,3 4 8,5 6 9,15,b.,常用的矩阵运算函数,只有方阵才可计算行列式值,即,det(A),的计算只有在,A,为方阵,时才有意义。,logm(A),和,sqrtm(A),计算矩阵的对数/平方根是指对,整个矩阵,A,求对数/平方根,。,第3章 矩阵、数组和符号运算,16,第3章 矩阵、数组和符号运算,det(A) %,求方阵,A,的行列式值,ans =,-24, eig(A) %,求特征值,ans =,16.7503,0.8793,-1.6295, logm(A) %,求矩阵,A,的对数,ans =,0.5432 + 0.8066i 0.7475 + 0.5526i 0.6902 - 0.6914i,0.8584 + 1.4131i 0.7845 + 0.9681i 0.6967 - 1.2112i,0.7502 - 1.5947i 1.1089 - 1.0926i 1.8504 + 1.3668i, sqrtm(A) %,求矩阵,A,的平方根,ans =,1.2466 + 0.3278i 0.5192 + 0.2246i 1.0906 - 0.2809i,0.2001 + 0.5742i 1.4228 + 0.3934i 1.3620 - 0.4921i,1.6144 - 0.6480i 1.7430 - 0.4439i 2.3610 + 0.5554i,17,c.,矩阵的分解函数,第3章 矩阵、数组和符号运算,18,第3章 矩阵、数组和符号运算,X=3,-1,2;1,2,-1;-2,1,4 %,输入矩阵,X,X =,3 -1 2,1 2 -1,-2 1 4, L,U=lu(X) %,对矩阵,X,进行,LU,分解,L =,1.0000 0 0,0.3333 1.0000 0,-0.6667 0.1429 1.0000,U =,3.0000 -1.0000 2.0000,0 2.3333 -1.6667,0 0 5.5714, Q,R=qr(X) %,对矩阵,X,进行,QR,分解,Q =,-0.8018 0.1543 0.5774,-0.2673 -0.9567 -0.1155,0.5345 -0.2469 0.8083,R =,-3.7417 0.8018 0.8018,0 -2.3146 0.2777,0 0 4.5033,19,第3章 矩阵、数组和符号运算,5、数组运算,Matlab,是以矩阵为基本运算单元的,,数组作为独立的计算单元实体是不存在的。数组运算,是,Matlab,的一种运算形式,,它,从矩阵的单个元素出发,针对每个元素进行的运算。,MATLAB,对,数组运算,在符号上做了不同的约定,,运算符形式为:,.* , ./ , . , .,矩阵运算和数组运算,有着显著的不同。属于两种不同的运算:,矩阵运算,是从矩阵的整体出发,按照线性代数的运算规则进行,,有着明确而严格的数学规则;,而数组运算,是从矩阵的单个元素出发,针对每个元素进行的运算,。,对于加法和减法而言,矩阵运算和数组运算相同,;对于乘法和除法而言,矩阵和数组的运算有着显著的不同。,20,第3章,矩阵、数组和符号运算,矩阵的,数组乘/除及乘方,数组除,的运算规则:,当参与除运算的两个矩阵同维时,,运算为,矩阵,的相应元素相除,,计算结果是与参与运算的矩阵同维的矩阵;,当参与运算的矩阵有一个是,标量,时,运算是标量和矩阵的每一个元素相除,计算结果是与参与运算的矩阵同维的矩阵;,右除与左除的关系为,A./B=B.A,,,其中,A,是被除数,,B,是除数。,21,第3章 矩阵、数组和符号运算, E=1,2,3;4,5,6;7,8,9,E =,1 2 3,4 5 6,7 8 9, F=1,4,7;2,5,8;3,6,9,F =,1 4 7,2 5 8,3 6 9,E.F,ans =,1.0000 2.0000 2.3333,0.5000 1.0000 1.3333,0.4286 0.7500 1.0000, 4.F,ans =,0.2500 1.0000 1.7500,0.5000 1.2500 2.0000,0.7500 1.5000 2.2500, F./E,ans =,1.0000 2.0000 2.3333,0.5000 1.0000 1.3333,0.4286 0.7500 1.0000,E*F,ans =,14 32 50,32 77 122,50 122 194, E.*F,ans =,1 8 21,8 25 48,21 48 81,22,数组乘方,的运算规则:,矩阵的标量乘方,A.p(,即,A,为矩阵,,p,为标量),运算为矩阵每个元素的,p,次方,计算结果是与矩阵,A,同维的矩阵;,标量的矩阵乘方,p.A,,表示以,p,为底,分别以,A,的元素为指数求幂值,计算结果是与矩阵,A,同维的矩阵。,第3章,矩阵、数组和符号运算,23,b.,向量的,数组运算,:,加/减法:,x=1,2,3,y=4,5,6,c=x-y,a=1+x,乘/除法,:,b=2,*,x,b=2.*x,z3=x.9,z4=x./9, z=x.*y, z1=x./y,z2=x.y,第3章,矩阵、数组和符号运算,乘方:, z7=2.x,z5=x.3,z6=x.y,点积、叉积:,c1=dot(a,b),c1= sum(a,.*,b),c2=cross(a,b),24,6、数组函数,常用的数学函数,第3章,矩阵、数组和符号运算,25,常用三角函数和超越函数,第3章,矩阵、数组和符号运算,26, A=3,3,5;2,4,6;7,8,9,A =,3 3 5,2 4 6,7 8 9, log(A),ans =,1.0986 1.0986 1.6094,0.6931 1.3863 1.7918,1.9459 2.0794 2.1972, sqrt(A),ans =,1.7321 1.7321 2.2361,1.4142 2.0000 2.4495,2.6458 2.8284 3.0000, cos(A),ans =,-0.9900 -0.9900 0.2837,-0.4161 -0.6536 0.9602,0.7539 -0.1455 -0.9111, pow2(A),ans =,8 8 32,4 16 64,128 256 512, 2.A,ans =,8 8 32,4 16 64,128 256 512,第3章,矩阵、数组和符号运算,27,7、多项式及其运算,a.,多项式的输入,向量,A=a,0,a,1,a,n-1,a,n,则命令,poly(A),会生成(,x-,a0,)(x-,a1,)(x-,an-1,)(x-,an,),的多项式,a,a =,1 2 3 4, PA=poly(a),PA =,1 -10 35 -50 24, poly2sym(PA,x),ans =,x4-10*x3+35*x2-50*x+24, p_a=poly2sym(a),p_a =,x3+2*x2+3*x+4,第3章,矩阵、数组和符号运算,28,b.,多项式的运算,a,a =,1 2 3 4, b=0,1,b =,0 1,加法:,c=a+0 0 b,c =,1 2 3 5,乘法:,d=conv(a,b),d =,0 1 2 3 4,除法:, ,div,rest=deconv(d,a),div =,0 1,rest =,0 0 0 0 0,微分:,polyder(a),ans =,3 4 3,求根:,roots(a),ans =,-1.6506,-0.1747 + 1.5469i,-0.1747 - 1.5469i,第3章,矩阵、数组和符号运算,29,求值:,a=1,2,3,4,a =,1 2 3 4, b=1,1;1,1,b =,1 1,1 1,polyvalm(a,4) % x=4,时多项式的值,ans =,112 %,与,polyval(a,4),结果相同, polyval(a,b,) %,数组运算,ans =,10 10,10 10, polyvalm(a,b,) %,矩阵运算,ans =,15 11,11 15,第3章,矩阵、数组和符号运算,多项式拟合:,x=0:pi/20:pi/2;, y=sin(x);, p,s=polyfit(x,y,5);,x1=0:pi/30:pi*2;,y1=sin(x1);,y2=p(1)*x1.5+p(2)*x1.4+p(3)*x1.3+p(4)*x1.2+p(5)*x1+p(6);, plot(x1,y1,b-,x1,y2,r*), legend(Original curve,Fitted curve),axis(0,7,-1.2,4),30,( 1),在,MATLAB 6.0,的工作空间中用直接输入法建立如下两个矩阵,然后在矩阵编辑器中将矩阵,A,改为3行3列的矩阵,并将其保存。,,,( 2)分别对(1)产生的两个矩阵 作加、减、乘和除(左除,右除)运算,同时运用数组运算法则进行运算,比较二者的计算结果有何异同。,( 3)利用矩阵生成函数建立一个对角线元素全部为 1 的 4 阶单位矩阵。,( 4)利用矩阵生成函数建立一个 44 的随机矩阵。,上机习题(4),31,( 5)对题(4)所产生的矩阵求特征值和特征向量,并用,lu,和,qr,命令对该矩阵进行分解。,( 6)对题( 1)中的矩阵,B,求秩、行列式的值、条件数、平方根及对数。,( 7)将如下矩阵,A,进行转置和求逆。,( 8)在,MATLAB,环境下,用下面三条指令创建矩阵,C,,看输出怎样的结果。,a=2.7358; b=33/79; C=1,2*a+i*b,b*sqrt(a);sin(pi/4),a+5*b,3.5+i,(,9,)希望同学们好好学习。,上机练习(4),32,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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


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

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


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