《第02章数组的运算基础优秀PPT.ppt》由会员分享,可在线阅读,更多相关《第02章数组的运算基础优秀PPT.ppt(34页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
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
5、2 3 4 5 6 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=an
6、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%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.40
7、00 4.8000 6.2000 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.00
8、10方法三方法三 利用函数生成利用函数生成格式格式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
9、)产生n阶方阵,各行各列及对角线元素和相等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页元素页元素
10、分别为:分别为:a(:,:,1)=1 1;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
11、=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行元素(冒号行元素(冒号表示全部)表示全部)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(
12、1:2,2:3)ans=2 3 5 6现在学习的是第14页,共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,:)=
14、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 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
15、5 6 4 6 7 8 9 1 3现在学习的是第18页,共34页find()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的元素的下标,
16、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):返回矩阵的行列数:返回矩阵的行列数m m与与n n。
17、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)numel(A):返回矩阵的
18、元:返回矩阵的元 素个数。素个数。rank(A)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 rot
19、90(A)rot90(A)ans=ans=3 6 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)diag(A):提取矩阵提取矩阵A A的对角元素,返回列向量的对角元素,返回列向量 tril(A)tril(A):提取提取A A的下三角矩阵的下三角矩阵 triu(A)triu(A):提取提取A A的上三角矩阵的上三角矩阵 diag(V)diag(V):以列向量以列向量V V作对角元素创建对角矩阵作对角元素创建
20、对角矩阵 diag(V)ans=2 0 0 0 0 5 0 0 0 0 8 0 0 0 0 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,
21、D=eig(G)V,D=eig(G)例例 G=1 2 0;2 5-1;4 10-1 G=1 2 0;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 对应的特征值现在学习的是
22、第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.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.0
23、000 1.0000现在学习的是第27页,共34页其他常用的矩阵函数其他常用的矩阵函数函数功能expm(A)计算矩阵的幂级数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 求:
24、求: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 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.0
25、000 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)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页
限制150内