《第02章数组的运算基础精.ppt》由会员分享,可在线阅读,更多相关《第02章数组的运算基础精.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,132,6,10,7*23+sin(pi),7,11,154 abs(-8)12 16例分成几行输入,用回车代替分号第4页,本讲稿共34页例a=1;b=2;c=3;x=5 b c;a*b a+c c/b元素是表达式第5页,本讲稿共34页格式1x=first:last 或x=first:las
4、t 创建从first开始,加1计数,到last结束的行向量方法二 利用线性等间距生成向量矩阵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 7 8 9 10 1 2 3 4 5 6 7 8 9 10 X=1:10%增量为1例1:10 例赋给MATLAB的永久变量ansX=1,2,3,4,5,6,7,8,9,10第6页,本讲稿共34页格式2x=first:increment:last 或 x=first:increment:last 创建从first开始,加increment计数,到last结束的行向量ans=an
5、s=100 93 86 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%增量为-7例 0:pi/4:pi%增量为pi/4第7页,本讲稿共34页例例 a=linspace(2,9,6)a=linspace(2,9,6)a=a=2.0000 3.4000 4.8000 6.2000 7.6000 9.0000 2.0000
6、 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方法三 利用函数生成格式格式2 2 logspace(a logspace(a,b b,n n
7、)创建从创建从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阶方阵,各行各列及对角线元素和相等rand(m,n)元素服从0到1之间均匀分布的随机m*n矩阵diag(a)以向量a作为对角线元素生成对
8、角矩阵方法五方法五 利用利用M M文件产生文件产生第10页,本讲稿共34页三、多维矩阵(数组)的创建 以三维矩阵为例。三维矩阵由行、列和页组成,第三维称以三维矩阵为例。三维矩阵由行、列和页组成,第三维称为页,每一页包含一个由行和列组成的二维数组。为页,每一页包含一个由行和列组成的二维数组。例例 要求输入一个要求输入一个2 2行、行、2 2列、列、3 3页的三维矩阵,其第页的三维矩阵,其第1 1、2 2、3 3页元素分别为:页元素分别为:a(:,:,1)=1 1;3 3;2 0;a(:,:,1)=1 1;3 3;2 0;a(:,:,3)=4;a(:,:,3)=4;如未对某元素、某行或某页赋值,其
9、值为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页第二节 矩阵的操作第13页,本讲稿共34页一、矩阵元素的操作A(m,n)A(m,n):第:第m m行,第行,第n n列元素列元素 A(2,3)ans=6A(m,:)A(m,:):第:第m m行元素
10、(冒行元素(冒号表示全部)号表示全部)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页,本讲稿共34页 A(:):列向量。元素按矩阵的列进行排列。A(:)ans=1 4 7 2 5 8 3 6 9矩矩阵阵扩扩展展:如如果果在在原原矩矩阵阵中中一一个个不不存存在在的的位位置置上上赋赋值值,则则该该矩矩阵阵会会自自动动扩扩展展行
11、行列列数数,其其他他没没有有赋赋值值的的元元素素默默认认为为零零(变变维结构)。维结构)。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页删除子块:如果将矩阵的子块赋值为空矩阵,则相当于消除了相应的矩阵子块。例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
12、;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 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
13、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()函数:查找矩阵满足特定条件元素下标 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
14、2 9;4 5 6;返回矩阵A中大于3的元素的下标,m行坐标、n列坐标思考:思考:find(A3)第19页,本讲稿共34页转置:操作符 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):返回矩阵的行列数:返回矩阵的
15、行列数m m与与n n。length(A)=max(size(A)length(A)=max(size(A):返回行数或列数的最大值。:返回行数或列数的最大值。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):返回矩阵的元
16、 素个数。rank(A):求矩阵的秩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
17、3 6 2 5 2 5 1 4 1 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):提取矩阵A的对角元素,返回列向量 tril(A):提取A的下三角矩阵 triu(A):提取A的上三角矩阵 diag(V):以列向量V作对角元素创建对角矩阵 diag(V)ans=2 0 0 0 0 5 0 0 0 0 8 0 0 0 0 7V=2;5;8;7第23页,本讲稿共34页函数 inv()求矩阵A的逆矩阵例 求下列方程组的解 算法:A=1 2 A=1 2;3
18、 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)求矩阵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-G=1 2 0;2 5-1;4 10-11 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
19、 -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的特征多项式的特征多项式 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.000
20、0例例第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)计算矩阵的幂级数logm(A)求矩阵的对数orth(A)求正交化矩阵 svd(A)奇异值分解trace(A)矩阵的对角元素之和norm(A)矩阵和向量的范数Lu(A)用高斯消元法所得的系数矩阵qr(A)正交三角矩阵分解第28页,本讲稿共34页应用举例应用
21、举例例例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页,本讲稿共34页假定矩阵假定矩阵A A和和B B满足关系式满足关系式ABABA A2B2B,求矩阵,求矩阵B B。例2:已知算法:由算法:由AB=A+2BAB=A+2B可得可得(A-2E)B=A(A-2E)B=A,故,故B B(A-2E)-1A(A-2E
22、)-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.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)2AB(2)4A23B2(3)AB(4)BA(5
23、)ABBA第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页