《第02章数组的运算基础精选PPT.ppt》由会员分享,可在线阅读,更多相关《第02章数组的运算基础精选PPT.ppt(34页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第02章数组的运算基础第1页,此课件共34页哦几点说明:几点说明:vMATLABMATLAB运算的基本单元是实数或复数元素组成的运算的基本单元是实数或复数元素组成的 矩阵,矩阵,MATLABMATLAB的大部分运算或命令都是在矩阵运的大部分运算或命令都是在矩阵运 算意义下执行的。算意义下执行的。v变量与常量:变量与常量:1*11*1矩阵矩阵 一维数组一维数组(行向量行向量):1*n1*n矩阵矩阵 N N维列向量:维列向量:n*1n*1矩阵矩阵v在在MATLABMATLAB中,不需对矩阵的维数和类型进行说明,中,不需对矩阵的维数和类型进行说明,MATLAB MATLAB会根据用户所输入的内容自动
2、进行配置。会根据用户所输入的内容自动进行配置。基本运算单元矩阵基本运算单元矩阵标量第2页,此课件共34页哦 要用要用MATLABMATLAB做矩阵运算,第一步是矩阵输入(定义),做矩阵运算,第一步是矩阵输入(定义),矩阵输入须遵循以下规则:矩阵输入须遵循以下规则:必须用中括号必须用中括号把所有矩阵元素括起来。把所有矩阵元素括起来。同一行的不同元素之间数据元素用空格或逗号同一行的不同元素之间数据元素用空格或逗号(,)间隔。间隔。用分号用分号(;)(;)指定一行结束。指定一行结束。也可分成几行输入,用回车代替分号。也可分成几行输入,用回车代替分号。数据元素可是数值、变量、表达式或函数,系统将自动计
3、算。数据元素可是数值、变量、表达式或函数,系统将自动计算。一、矩阵的构造一、矩阵的构造第3页,此课件共34页哦方法一方法一 直接输入直接输入例例A=1,2,3,4;5 6 7 8;9 10 11 12;13 14 15 16A=1,2,3,4;5 6 7 8;9 10 11 12;13 14 15 16注意逗号、空格和分号的用法B=1,sqrt(25),9,13B=1,sqrt(25),9,132,6,10,7*22,6,10,7*23+sin(pi),7,11,153+sin(pi),7,11,154 abs(-8)12 164 abs(-8)12 16例例分成几行输入,用回车代替分号第4页
4、,此课件共34页哦例例a=1;b=2;c=3;a=1;b=2;c=3;x=5 b c;a*b a+c c/bx=5 b c;a*b a+c c/b元素是表达式第5页,此课件共34页哦格式格式1 1x=firstx=first:lastlast 或x=firstx=first:lastlast 创建从创建从firstfirst开始,加开始,加1 1计数,到计数,到lastlast结束的行向量结束的行向量方法二方法二 利用线性等间距生成向量矩阵利用线性等间距生成向量矩阵X=X=1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10ans=ans=1 2 3 4 5 6
5、7 8 9 10 1 2 3 4 5 6 7 8 9 10 X=1:10%X=1:10%增量为增量为1 1例例1:10 1:10 例例赋给MATLAB的永久变量ansX=1,2,3,4,5,6,7,8,9,10第6页,此课件共34页哦格式格式2 2x=firstx=first:incrementincrement:lastlast 或 x=firstx=first:incrementincrement:lastlast 创建从创建从firstfirst开始,加开始,加incrementincrement计数,到计数,到lastlast结束的行向量结束的行向量ans=ans=100 93 86
6、79 72 65 58 100 93 86 79 72 65 58 5151当increment0为不大于last的最小数,当increment0为不小于last的最大数ans=ans=0 0.7854 1.5708 2.3562 3.1416 0 0.7854 1.5708 2.3562 3.1416例例 100:-7:50%100:-7:50%增量为增量为-7-7例例 0:pi/4:pi%0:pi/4:pi%增量为增量为pi/4pi/4第7页,此课件共34页哦例例 a=linspace(2,9,6)a=linspace(2,9,6)a=a=2.0000 3.4000 4.8000 6.20
7、00 7.6000 9.0000 2.0000 3.4000 4.8000 6.2000 7.6000 9.0000方法三方法三 利用函数生成利用函数生成格式格式1 1 linspace(a linspace(a,b b,n n)创建从创建从a a开始,到开始,到b b结束,有结束,有n n个元素的线性等分行向量,个元素的线性等分行向量,n n缺省缺省值为值为100100。第8页,此课件共34页哦例例 a=logspace(-1,-3,3)a=logspace(-1,-3,3)a=a=0.1000 0.0100 0.0010 0.1000 0.0100 0.0010方法三方法三 利用函数生成利
8、用函数生成格式格式2 2 logspace(a logspace(a,b b,n n)创建从创建从1010a a开始,到开始,到1010b b结束,有结束,有n n个元素的线性等分行向量,个元素的线性等分行向量,n n缺省缺省值为值为5050。注意:将a到b平均分成n等分,设分点是x1,xn,-1到-3的3等分点是-1、-2、-3第9页,此课件共34页哦方法四方法四 利用内部函数产生利用内部函数产生函数功能eye(m,n)产生m*n维单位矩阵zeros(m,n)产生全部元素为0的m*n矩阵ones(m,n)产生全部元素为1的m*n矩阵产生空矩阵magic(n)产生n阶方阵,各行各列及对角线元素
9、和相等rand(m,n)元素服从0到1之间均匀分布的随机m*n矩阵diag(a)以向量a作为对角线元素生成对角矩阵方法五方法五 利用利用M M文件产生文件产生第10页,此课件共34页哦三、多维矩阵(数组)的创建三、多维矩阵(数组)的创建 以三维矩阵为例。三维矩阵由行、列和页组成,第三维称为页,以三维矩阵为例。三维矩阵由行、列和页组成,第三维称为页,每一页包含一个由行和列组成的二维数组。每一页包含一个由行和列组成的二维数组。例例 要求输入一个要求输入一个2 2行、行、2 2列、列、3 3页的三维矩阵,其第页的三维矩阵,其第1 1、2 2、3 3页页元素分别为:元素分别为:a(:,:,1)=1 1
10、;3 3;2 0;a(:,:,1)=1 1;3 3;2 0;a(:,:,3)=4;a(:,:,3)=4;如未对某元素、某行或某页赋值,其值为0第11页,此课件共34页哦四、生成大矩阵四、生成大矩阵在组成较大矩阵时,可以将小矩阵作为它的元素。在组成较大矩阵时,可以将小矩阵作为它的元素。左右拼装左右拼装 A=1 2 3;4 5 6;A=1 2 3;4 5 6;B=7;8;B=7;8;C=A B C=A B例例要求矩阵的行数相同上下拼装上下拼装要求矩阵的列数相同例例 A=1 2 3;4 5 6;A=1 2 3;4 5 6;D=7 8 9;D=7 8 9;E=A;D E=A;D第12页,此课件共34页
11、哦第二节第二节 矩阵的操作矩阵的操作第13页,此课件共34页哦一、矩阵元素的操作一、矩阵元素的操作A(m,n)A(m,n):第:第m m行,第行,第n n列元素列元素 A(2,3)ans=6A(m,:)A(m,:):第:第m m行元素(冒号行元素(冒号表示全部)表示全部)A(2,:)ans=4 5 6A(:,n)A(:,n):第:第n n列元素列元素 A(:,3)ans=3 6 9A(m1:m2,n1:n2)A(m1:m2,n1:n2):第:第m1m1行到第行到第m2m2行和第行和第n1n1列到第列到第n2n2列的所有元素。列的所有元素。A(1:2,2:3)ans=2 3 5 6第14页,此课
12、件共34页哦 A(:)A(:):列向量。元素按矩阵的列:列向量。元素按矩阵的列进行排列。进行排列。A(:)ans=1 4 7 2 5 8 3 6 9矩矩阵阵扩扩展展:如如果果在在原原矩矩阵阵中中一一个个不不存存在在的的位位置置上上赋赋值值,则则该该矩矩阵阵会会自自动动扩扩展展行行列列数数,其其他他没没有有赋赋值值的的元元素素默默认认为为零零(变变维结构)。维结构)。A(4,5)=10A=1 2 3 0 0 4 5 6 0 0 7 8 9 0 0 0 0 0 0 10第15页,此课件共34页哦删除子块删除子块:如果将矩阵的子块赋值为空矩阵:如果将矩阵的子块赋值为空矩阵,则相当于消除了,则相当于消
13、除了相应的矩阵子块。相应的矩阵子块。例例A(4:5,:)=A(4:5,:)=A=A=1 2 3 0 0 1 2 3 0 0 4 5 6 0 0 4 5 6 0 0 7 8 9 1 0 7 8 9 1 0例例B(:,3:5)=B(:,3:5)=B=B=1 2 6 1 2 6 7 8 12 7 8 12 第16页,此课件共34页哦例例A=1 2 3;4 5 6;D=7 8 9;A=1 2 3;4 5 6;D=7 8 9;A=A=1 10 3 1 10 3 4 5 6 4 5 6 A(1,2)=10 A(1,2)=10 A(1,:)=D A(1,:)=DA=A=7 8 9 7 8 9 4 5 6 4
14、 5 6 A(1:2,1:2)=1 2;3 4 A(1:2,1:2)=1 2;3 4A=A=1 2 3 1 2 3 3 4 6 3 4 6 A=5 6;7 8 A=5 6;7 8A=A=5 6 5 6 7 8 7 8为矩阵元素赋值用向量为矩阵某一行元素赋值为矩阵的某一块元素赋值为矩阵元素赋值的同时,改变矩阵的维数(结构)第17页,此课件共34页哦 B=A(3:-1:2,1:3)B=7 8 9 4 5 6 C=A(end:-1:1,:)C=7 8 9 4 5 6 1 2 3 D=A C(:,1 3)D=1 2 3 7 9 4 5 6 4 6 7 8 9 1 3第18页,此课件共34页哦find(
15、)find()函数:函数:查找矩阵满足特定条件元素下标查找矩阵满足特定条件元素下标 p=find(X)p=find(X)p=p=2 3 5 6 7 2 3 5 6 7二、矩阵元素的处理方法二、矩阵元素的处理方法返回向量X中非零元素的下标 m,n=find(A3)m,n=find(A3)m=m=2 2 2 2 1 1 2 2n=n=1 1 2 2 3 3 3 3例例 X=0 1-2 0-3 7 9;X=0 1-2 0-3 7 9;例例 A=1 2 9;4 5 6;A=1 2 9;4 5 6;返回矩阵A中大于3的元素的下标,m行坐标、n列坐标思考:思考:find(A3)第19页,此课件共34页哦转
16、置:操作符转置:操作符 A Aans=ans=1 4 1 4 2 5 2 5 3 6 3 6 B Bans=ans=1.0000-2.0000i 4.0000+i 1.0000-2.0000i 4.0000+i 3.0000+4.0000i 5.0000 3.0000+4.0000i 5.0000 5.0000 6.0000 5.0000 6.0000例例例例复数矩阵转置先转置,再求共轭复数第20页,此课件共34页哦m,n=size(A)m,n=size(A):返回矩阵的行列数:返回矩阵的行列数m m与与n n。length(A)=max(size(A)length(A)=max(size(A
17、):返回行数或列数的最大值。:返回行数或列数的最大值。m,n=size(A)m,n=size(A)m=m=2 2n=n=3 3length(A)length(A)ans=ans=3 3max(size(A)max(size(A)ans=ans=3 3m=size(A,1)m=size(A,1)m=m=2 2n=size(A,2)n=size(A,2)n=n=3 31表示第1维例:例:问题:size(A,3)size(A,3)?矩阵大小查询第21页,此课件共34页哦 numel(A)numel(A):返回矩阵的元:返回矩阵的元 素个数。素个数。rank(A)rank(A):求矩阵的秩:求矩阵的秩
18、m=numel(A)m=numel(A)m=m=6 6rank(A)rank(A)ans=ans=2 2 flipud(A):flipud(A):矩阵作上下翻转矩阵作上下翻转 fliplr(A)fliplr(A):矩阵作左右翻转矩阵作左右翻转 rot90(A)rot90(A):逆时针旋转逆时针旋转9090 flipud(A)flipud(A)ans=ans=4 5 6 4 5 6 1 2 3 1 2 3 fliplr(A)fliplr(A)ans=ans=3 2 1 3 2 1 6 5 4 6 5 4 rot90(A)rot90(A)ans=ans=3 6 3 6 2 5 2 5 1 4 1
19、4例例第22页,此课件共34页哦 diag(A)ans=1 5 9 tril(A)ans=1 0 0 4 5 0 7 8 9 triu(A)ans=1 2 3 0 5 6 0 0 9 diag(A)diag(A):提取矩阵提取矩阵A A的对角元素,返回列向量的对角元素,返回列向量 tril(A)tril(A):提取提取A A的下三角矩阵的下三角矩阵 triu(A)triu(A):提取提取A A的上三角矩阵的上三角矩阵 diag(V)diag(V):以列向量以列向量V V作对角元素创建对角矩阵作对角元素创建对角矩阵 diag(V)ans=2 0 0 0 0 5 0 0 0 0 8 0 0 0 0
20、 7V=2;5;8;7V=2;5;8;7第23页,此课件共34页哦函数函数 inv()inv()求求矩阵矩阵A A的逆矩阵的逆矩阵例例 求下列方程组的解求下列方程组的解 算法:算法:A=1 2 A=1 2;3 43 4;b=5;11;b=5;11;x=inv(A)*b x=inv(A)*bx=x=1 1 2 2第24页,此课件共34页哦函数函数 eig(A)eig(A)求矩阵求矩阵A A的特征值的特征值d=d=3.7321 3.7321 0.2679 0.2679 1.0000 1.0000 V,D=eig(G)V,D=eig(G)例例 G=1 2 0;2 5-1;4 10-1 G=1 2 0
21、;2 5-1;4 10-1 d=eig(G)d=eig(G)V=V=-0.2440 -0.9107 0.4472 -0.2440 -0.9107 0.4472 -0.3333 0.3333 0.0000 -0.3333 0.3333 0.0000 -0.9107 -0.2440 0.8944 -0.9107 -0.2440 0.8944D=D=3.7321 0 0 3.7321 0 0 0 0.2679 0 0 0.2679 0 0 0 1.0000 0 0 1.0000 对应的特征值第25页,此课件共34页哦函数:函数:poly(A)poly(A)。求矩阵。求矩阵A A的特征多项式的特征多项
22、式 G=1 2 0;2 5-1;4 10-1 G=1 2 0;2 5-1;4 10-1 poly(G)poly(G)ans=ans=1.0000 -5.0000 5.0000 -1.0000 1.0000 -5.0000 5.0000 -1.0000例例第26页,此课件共34页哦函数函数 det(A)det(A)求矩阵求矩阵A A的行列式的值。的行列式的值。例例 G=1 2 0;2 5-1;4 10-1G=1 2 0;2 5-1;4 10-1 det(G)det(G)ans=ans=1.0000 1.0000第27页,此课件共34页哦其他常用的矩阵函数其他常用的矩阵函数函数功能expm(A)计
23、算矩阵的幂级数logm(A)求矩阵的对数orth(A)求正交化矩阵 svd(A)奇异值分解trace(A)矩阵的对角元素之和norm(A)矩阵和向量的范数Lu(A)用高斯消元法所得的系数矩阵qr(A)正交三角矩阵分解第28页,此课件共34页哦应用举例应用举例例例1 1:已知:已知 A=1 2 3;-2 0 0;1 0 1;-1 2-3;A=1 2 3;-2 0 0;1 0 1;-1 2-3;B=-1,3;-2 2;2 1;B=-1,3;-2 2;2 1;C=A*B C=A*B 求:求:C CABAB。C=C=1 10 1 10 2 -6 2 -6 1 4 1 4 -9 -2 -9 -2第29页
24、,此课件共34页哦假定矩阵假定矩阵A A和和B B满足关系式满足关系式ABABA A2B2B,求矩阵,求矩阵B B。例例2 2:已知:已知算法:由算法:由AB=A+2BAB=A+2B可得可得(A-2E)B=A(A-2E)B=A,故,故B B(A-2E)-1A(A-2E)-1A A=4 2 3;1 1 0;-1 2 3;A=4 2 3;1 1 0;-1 2 3;B=inv(A-2*eye(3)*A B=inv(A-2*eye(3)*AB=B=3.0000 -8.0000 -6.0000 3.0000 -8.0000 -6.0000 2.0000 -9.0000 -6.0000 2.0000 -9
25、.0000 -6.0000 -2.0000 12.0000 9.0000 -2.0000 12.0000 9.0000第30页,此课件共34页哦第第2章习题章习题q习题习题1 1:已知矩阵:已知矩阵A A和和B B求求(1)2A(1)2AB B(2)4A2(2)4A23B23B2(3)AB(3)AB(4)BA(4)BA(5)AB(5)ABBABA第31页,此课件共34页哦q习题习题2 2:设三阶矩阵:设三阶矩阵A A、B B,满足,满足 A A1 1BABA6A6ABABA 其中其中求矩阵求矩阵B B。第32页,此课件共34页哦q习题习题3 3:设:设(2E(2EC C-1-1B)AB)AT T=C=C-1-1,其中,其中E E是是4 4阶单位矩阵,阶单位矩阵,A AT T是是4 4阶矩阵阶矩阵A A的转置。的转置。求矩阵求矩阵A A第33页,此课件共34页哦q习题习题4 4:设二阶矩阵:设二阶矩阵A A,B B,X X,满足,满足 X X2A2AB BX X其中其中求矩阵求矩阵X X。n习题习题5 5:求解线性方程组:求解线性方程组第34页,此课件共34页哦