《数组的运算基础》PPT课件.ppt_第1页
《数组的运算基础》PPT课件.ppt_第2页
《数组的运算基础》PPT课件.ppt_第3页
《数组的运算基础》PPT课件.ppt_第4页
《数组的运算基础》PPT课件.ppt_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章数组的运算基础,几点说明:MATLAB运算的基本单元是实数或复数元素组成的长方形矩阵,MATLAB的大部分运算或命令都是在矩阵运算的意义下执行的。变量与常量:1*1矩阵一维数组:1*n矩阵N维行向量:1*n矩阵N维列向量:n*1矩阵在MATLAB中,不需对矩阵的维数和类型进行说明,MATLAB会根据用户所输入的内容自动进行配置。,基本运算单元矩阵,要用MATLAB做矩阵运算,首先要将矩阵直接输入到MATLAB中去,其中最方便的是将矩阵直接输入。矩阵的输入须遵循以下规则:必须用中括号把所有矩阵元素括起来。同一行的不同元素之间数据元素用空格或逗号(,)间隔。用分号(;)指定一行结束。也可分成几行输入,用回车代替分号。数据元素可是数值、变量、表达式或函数,系统将自动计算。,一、矩阵的构造,方法一直接输入,例1,A=1,2,3,4;5678;9101112;13141516,注意逗号、空格和分号的用法,分成几行输入,用回车代替分号,例3,a=1;b=2;c=3;x=5bc;a*ba+cc/b,元素是表达式,格式1x=first:last或x=first:last创建从first开始,加1计数,到last结束的行向量,方法二利用线性等间距生成向量矩阵,X=12345678910,ans=12345678910,赋给MATLAB的永久变量ans,X=1,2,3,4,5,6,7,8,9,10,格式2x=first:increment:last或x=first:increment:last创建从first开始,加increment计数,到last结束的行向量,ans=10093867972655851,当increment0为不大于last的最小数,当increment0为不小于last的最大数,ans=00.78541.57082.35623.1416,例a=linspace(2,9,6)a=2.00003.40004.80006.20007.60009.0000,方法三利用函数生成,格式1linspace(a,b,n)创建从a开始,到b结束,有n个元素的线性等分行向量,n缺省值为100。,例a=logspace(-1,-3,3)a=0.10000.01000.0010,方法三利用函数生成,格式2logspace(a,b,n)创建从10a开始,到10b结束,有n个元素的线性等分行向量,n缺省值为50。,注意:将a到b平均分成n等分,设分点是x1,xn,方法四利用内部函数产生,方法五利用M文件产生,三、多维矩阵(数组)的创建,以三维矩阵为例。三维矩阵由行、列和页组成,第三维称为页,每一页包含一个由行和列组成的二维数组。,例要求输入一个2行、2列、3页的三维矩阵,其第1、2、3页元素分别为:,a=zeros(3,2,3);a(:,:,1)=11;33;20;a(:,:,3)=4;,如未对某元素、某行或某页赋值,其值为0,四、生成大矩阵,在组成较大矩阵时,可以将小矩阵作为它的元素。,左右拼装(要求矩阵的行数相同),D=789E=A;D,上下拼装(要求矩阵的列数相同),例,A=123;456;D=789;E=A;D,第二节矩阵的操作,一、矩阵元素的操作,A(m,n):第m行,第n列元素,A(2,3)ans=6,A(m,:):第m行元素(冒号表示全部),A(2,:)ans=456,A(:,n):第n列元素,A(:,3)ans=369,A(m1:m2,n1:n2):第m1行到第m2行和第n1列到第n2列的所有元素。,A(1:2,2:3)ans=2356,A(:):得到一个长列矢量,该矢量的元素按矩阵的列进行排列。,A(:)ans=147258369,矩阵扩展:如果在原矩阵中一个不存在的地址位置上设定一个数(赋值),则该矩阵会自动扩展行列数,并在该位置上添加这个数,而且在其他没有指定的位置补零(变维结构)。,A(5,5)=10A=12300456007890000000000010,删除子块:如果将矩阵的子块赋值为空矩阵,则相当于消除了相应的矩阵子块。,例,A(4:5,:)=,A=123004560078910,例,B(:,4:5)=,B=123678912,例A=123;456;D=789;,A=1103456,A(1,2)=10,A(1,:)=D,A=789456,A(1:2,1:2)=12;34,A=123346,A=56;78,A=5678,为矩阵元素赋值,用向量为矩阵某一行元素赋值,为矩阵的某一块元素赋值,为矩阵元素赋值的同时,改变矩阵的维数(结构),B=A(2:-1:1,1:3),C=A(end:-1:1,:),D=AC(:,13),B=456123,C=789456123,D=123794564678913,A=123;456;789,B=A(2:-1:1,1:3),C=A(end:-1:1,:),D=AC(:,13),B=456123,C=789456123,A=123456789,D=123794564678913,一、矩阵元素的处理方法,find()指令:特殊要求的矩阵元素定位,A=123;456;m,n=find(A3)m=222n=123,X=01-2-6-379;p=find(abs(X)3)p=467,一、矩阵元素的处理方法,转置:操作符复数矩阵的转置:先转置再求矩阵元素的复共轭数值,A=123456,Aans=142536,B=1+2i3+4i5-6i7-8i,Bans=1.0000-2.0000i5.0000+6.0000i3.0000-4.0000i7.0000+8.0000i,一、矩阵元素的处理方法,find()指令:特殊要求的矩阵元素定位,A=123;456;m,n=find(A3)m=222n=123,X=01-2-6-379;p=find(abs(X)3)p=467,二、矩阵大小查询(第五节),m,n=size(A):返回矩阵的行列数m与n。length(A)=max(size(A):返回行数或列数的最大值。,A=123;456;m,n=size(A)m=2n=3,length(A)ans=3max(size(A)ans=3,m=size(A,1)m=2n=size(A,2)n=3,二、矩阵大小查询(第五节),numel(A):返回矩阵的元素个数。rank(A):求矩阵的秩,A=123;456;m=numel(A)m=6,rank(A)ans=2,三、矩阵的其他操作,A=123456,flipud(A):矩阵作上下翻转fliplr(A):矩阵作左右翻转rot90(A):逆时针旋转90,flipud(A)ans=456123,fliplr(A)ans=321654,rot90(A)ans=362514,diag(A)ans=159,tril(A)ans=100450789,triu(A)ans=123056009,diag(A):提取矩阵A的对角元素,返回列向量tril(A):提取A的下三角矩阵triu(A):提取A的上三角矩阵diag(V):以列向量V作对角元素创建对角矩阵,A=123456789,三、矩阵的其他操作,V=2;5;8;7,diag(V)ans=2000050000800007,MATLAB矩阵运算,第六节矩阵的关系运算和逻辑运算,MATLAB的运算符有三种类型:算术运算符、关系运算符、逻辑运算符。在前面已经介绍了算术运算符,这里我们着重介绍后两种运算符。,一、关系运算符,1、关系运算符(结果为非,则返回0;结果为真,则返回1),例如:键入关系式a=2+2=4a=1,a=(2+2=4)a=1,假设有:A=12-1-5B=0231,一、关系运算符,关系运算可用来比较两个同样大小的矩阵,或比较一个矩阵与一个标量。矩阵与标量比较时,矩阵的每一个元素与标量比较,结果与原矩阵大小一样。,2、逻辑运算符(逻辑量只取0(假)和1(真)两个值),二、逻辑运算符,基本逻辑运算真值表,逻辑运算可用来比较两个同样大小的矩阵,或比较一个矩阵与一个标量。在处理逻辑运算时,如果运算的数为0,MATLAB认为其为0(假),而任何数不等于0,则认为是1(真)。,设有:A=5-40-0.5;B=0109,二、逻辑运算符,二、逻辑运算符,MATLAB具有两种对矩阵元素群进行逻辑运算的函数:all(全为真)和any(不全为假),其输入量为矩阵,且按列进行运算。,A=magic(6)A=351626192433272123253192222720828331710153053412141643629131811,p=(rem(A,3)=0)p=001001100100010010001001100100010010,u=p|pu=111111111111111111111111111111111111,all(p)ans=000000,all(u)ans=111111,any(p)ans=111111,三、逻辑运算函数(p47表2-3),运算符适用于两同阶矩阵或矩阵与标量之间的运算对应元素的加减,四、矩阵的加减运算,例:已知矩阵A和B,且A=21,2,4;7,13,19;1,8,17;B=122524;11139;681;计算CAB,DAB和EA3。,C=A+BC=33272818262871618,D=A-BD=9-23-20-4010-5016,E=A+3E=245710162241120,五、矩阵的乘法运算,运算符*适用于前一矩阵的列数和后一矩阵行数相同或者其中为标量的情况。,例:已知矩阵A和B,且A=21,2,4;7,13,19;1,8,17;B=122524;11139;681;试求CAB和DA3。,C=A*BC=298583526341496304202265113,D=A*3D=6361221395732451,六、矩阵的除法运算,运算符:右除/左除右除表示为:A/B=AB-1(B为方阵且非奇异)左除表示为:AB=A-1B(A为方阵且非奇异),例:已知矩阵A和B,且A=21,2,4;7,13,19;1,8,17;B=122524;11139;681;试计算AB和A/B。,A/Bans=-1.83365.6985-3.28010.55350.7891-1.38710.74960.0478-1.4201,ABans=0.50811.11681.14290.3216-0.61860.28570.17170.6960-0.1429,注矩阵的除法运算实际是求AX=B的解的过程。当A为非奇异矩阵时,结果是最小二乘解,即矩阵除法可以找到使|AX-B|误差绝对值最小的X。,七、矩阵的乘方运算,运算符:要求乘方运算的对象为方阵Ap表示A自乘p次(p为标量),A(-1)ans=0.0486-0.0014-0.0099-0.07040.2484-0.26110.0303-0.11680.1823,A2ans=45910019025733559894242445,A3ans=105293738696683409653175594113689412539,例:已知矩阵A=21,2,4;7,13,19;1,8,17;试计算A(-1),A2,A3,八、矩阵的点运算,运算符:.为实现与矩阵相关的标量运算而设计的。与矩阵的常规运算不同,是针对于矩阵中的元素定义的。分类:点乘.*点乘方.点右除./点左除.,例:已知矩阵A和B,试求AB,A.*B,A.3,A./2和A.B。其中A=12;34;B=56;78;,A*Bans=19224350,A.*Bans=5122132,A.3ans=182764,A./2ans=0.50001.00001.50002.0000,A.Bans=164218765536,九、求逆矩阵,函数inv()矩阵A可逆,则矩阵A的逆矩阵是唯一的。,X=inv(G)X=52-2-2-110-21,I=inv(G)*GI=100010001,例:求一矩阵G的逆矩阵,并验证所得结果。G=120;25-1;410-1;,G=120;25-1;410-1,十、求特征值,函数eig()设A为n阶矩阵,是一个数,如果方程Ax=x存在非零解向量,则称为A的一个特征值,相应的非零向量x称为特征值对应的特征向量。,d=eig(G)d=3.73210.26791.0000,V,D=eig(G)V=-0.2440-0.91070.4472-0.33330.33330.0000-0.9107-0.24400.8944D=3.73210000.26790001.0000,函数:poly()。,十一、求特征多项式,G=120;25-1;410-1;,poly(G)ans=1.0000-5.00005.0000-1.0000,round(poly(G)ans=1-55-1,函数det()若将矩阵看做是行列式,可求相应的行列式值。例:已知矩阵A=1234;2341;3412;4123求其对应的行列式值。,十二、求方阵的行列式,A=1234;2341;3412;4123A=1234234134124123,det(A)ans=160,十三、其他常用的矩阵函数,线性方程组的一般矩阵形式表示如下:AXB(XAB)若方程组有解,则X=A-1B=AB(XBA-1=B/A)。,十四、求线性方程组,例:求下列线

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论