




已阅读5页,还剩54页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Matlab矩阵的生成与运算,安徽工业大学数理学院侯为根wghou,【例1-1】表示矩阵,一、MATLAB矩阵的生成,1、直接输入法,将矩阵的元素用方括号括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用空格或逗号分隔,不同行的元素之间用分号分隔。,A=1,2,3;4,5,6;7,8,0,A=1,2,3;45,6;7,80,2、利用M文件建立矩阵,对于比较大且比较复杂的矩阵,可以为它专门建立一个M文件。,【例1-3】利用M文件建立mymat矩阵。,(1)启动有关编辑程序或MATLAB文本编辑器,并输入待建矩阵.,(2)把输入的内容以纯文本方式存盘(设文件名为mymat.m)。,(3)运行该M文件,就会自动建立一个名为mymat的矩阵,可供以后使用。,A=410162;82947;75715;03454;23131303,3、利用MATLAB函数建立矩阵,几个产生特殊矩阵的函数:zeros、ones、eye、rand、randn、pascal、magic(n)、vander(V)、hilb(n)、toeplitz(x,y)、compan(P)。,这几个函数的调用格式相似,下面以产生零矩阵的zeros函数为例进行说明。其调用格式是:,zeros(m)产生mm零矩阵,zeros(m,n)产生mn零矩阵。,zeros(size(A)产生与矩阵A同样大小的零矩阵,相关的函数有:length(A)给出行数和列数中的较大者,即length(A)=max(size(A);ndims(A)给出A的维数。,【例1-4】分别建立33、32和与矩阵A同样大小的零矩阵。,(1)建立一个33零矩阵:zeros(3),(2)建立一个32零矩阵:zeros(3,2),(3)建立与矩阵A同样大小零矩阵:zeros(size(A),【例1-5】建立一个32的矩阵A,其元素为1到10中随机选取的整数。,A=unidrnd(10,2,3),注:命令A=unifrnd(1,10,2,3)的元素为在区间1,10中随机选取的实数。,x1=rand(10000,1);x2=randn(10000,1);subplot(2,1,1);hist(x1,40);title(均匀分布);subplot(2,1,2);hist(x2,40);title(高斯分布);set(findobj(gcf,type,patch),EdgeColor,w);%改边线为白色,【例1-6】产生10000个均匀均匀与正态分布的随机数,产生随机数矩阵指令rand和randn,4、矩阵的合并,大矩阵可由方括号中的小矩阵建立起来。,A=123;456;780;,C=A,eye(size(A);ones(size(A),A,A=A;123;1;2;3;4;,【例1-8】使用小矩阵构造大矩阵,5、冒号表达式(序列生成方法),冒号表达式的一般格式:v=s1:s2:s3,还可以用linspace函数产生行向量:linspace(a,b,n),linspace(a,b,n)与a:(b-a)/(n-1):b等价,【例1-9】用不同的步距生成(0,p)间向量,V1=0:0.2:pi,V2=0:pi,V3=pi:-1:0,V4=0:0.2:pi,pi,V6=0:pi/100:pi,V5=linspace(0,pi,100),6、矩阵变形,常用改变矩阵形状函数如下表,函数reshape(A,m,n),它在矩阵总元素保持不变的前提下,将矩阵A重新排成mn的二维矩阵。,【例1-5】将4阶魔方阵形变为2行8列的矩阵,reshaps(magic(4),2,8),A=14710;25811;36912,【例1-6】将矩阵形A进行各类翻转变化,左右翻转:,上下翻转:,旋转90o:,fliplr(A),flipud(A),rot90(A),flipdim(A,1)其等价于flipud(A),flipdim(A,2)其等价于fliplr(A),二、对矩阵元素的操作,矩阵A中,位于第i行、第j列的元素可表示为A(i,j)i与j即是此元素的下标(Subscript)或索引(Index)MATLAB中所有矩阵的内部表示法都是以列为主的一维向量A(i,j)和A(i+(j-1)*m)是完全一样的m为矩阵A的列数,1、矩阵的索引或下标,我们可以使用一维或二维下标来存取矩阵,A=410162;82947;75715;03454;23131303,2、矩阵元素,MATLAB允许用户对一个矩阵的单个元素进行赋值和操作。例如A(3,2)=200,也可以采用矩阵元素的序号来引用矩阵元素。矩阵元素按列编号,先第一列,再第二列,依次类推。,以mn矩阵A为例,矩阵元素A(i,j)的序号为:(j-1)*m+i。其相互转换关系也可利用sub2ind和ind2sub函数求得。,可以借用矩阵可赋值的属性对矩阵进行扩充。例如A为前面给出的矩阵,若将其扩充为67矩阵,可这样赋值:A(6,7)=1,3.子矩阵提取,(1)利用冒号表达式获得子矩阵,A(:,j)表示取A矩阵的第j列全部元素;A(i,:)表示A矩阵第i行的全部元素;A(i,j)表示取A矩阵第i行、第j列的元素。,A(i:i+m,:)表示取A矩阵第ii+m行的全部元素;A(:,k:k+m)表示取A矩阵第kk+m列的全部元素,A(i:i+m,k:k+m)表示取A矩阵第ii+m行内,并在第kk+m列中的所有元素。,利用一般向量和end运算符等来表示矩阵下标,从而获得子矩阵。end表示某一维的末尾元素下标。,【例2-1】子矩阵提取,提取矩阵A全部奇数行,所有列,将矩阵A左右翻转,提取矩阵A的3,2,1行、2,3,4列构成子矩阵,将矩阵A2,4列全变为1,B1=A(1:2:end,:),B3=A(:,end:-1:1),B2=A(3,2,1,2:4),A(:,2,4)=ones(4,2),注意:A(:)是按一维索引顺序列出A的全部元素,4、利用空矩阵删除矩阵的元素,在MATLAB中,定义为空矩阵。给变量X赋空矩阵的语句为X=。,【注意】X=与clearX不同,clear是将X从工作空间中删除,而空矩阵则存在于工作空间,只是维数为0。,将某些元素从矩阵中删除,采用将其置为空矩阵的方法就是一种有效的方法。,【例2-2】将矩阵A2,4行删去,A(2,3,:=,A=1234;5678;9101112A1=diag(A)A2=diag(A,1)A3=diag(A,-1)B1=diag(A1,1)B2=diag(A3,1),6选取对角元素,7选取上下)三角元阵,c1=tril(A)c2=tril(A,1)c3=tril(A,-1)d1=triu(A)d2=triu(A,1)D3=triu(A,-1),1.数学运算,2.逻辑运算,三、Matlab基本运算,3.比较运算,4.集合运算,一、数学运算,MATLAB的基本算术运算有:(加)、(减)、*(乘)、/(右除)、(左除)、(乘方)、共轭转置()正号(+),负号(-),【注意】运算是在矩阵意义下进行的,单个数据的算术运算只是一种特例。,2.点运算,点运算符有.*、./、.和.。两矩阵进行点运算是指它们的对应元素进行相关运算,要求两矩阵的维参数相同。,1.基本算术运算,1.转置(.),幂次(.).共轭转置(),矩阵幂次()2.正号(+),负号(-)3.乘法(.*),元素右除(./),元素左除(.),矩阵乘法(*),矩阵右除(/),矩阵左除()4.加法(+),减法(-)5.冒号(:)(例如:x=1:2:5等),数学运算符之优先级:,同一类的运算符均具有相同的优先度(Priority),因此在计算上,是由左至右依次完成,矩阵的数学运算,矩阵的加减与一般标量(Scalar)的加减类似相加或相减的矩阵必需具有相同的维度,A=12345620;B=1324;C=A+BC1=A-B,例1:加减法运算,矩阵与纯量可以直接进行加减,MATLAB会直接将加减应用到每一个元素,A=12321+5,矩阵的加减法运算,矩阵的乘法与除法,标量对矩阵的乘或除,可比照一般写法,A=123;442;C=A/3B=2*A,欲进行矩阵相乘,必需确认第一个矩阵的列数(ColumnDimension)必需等于第二个矩阵的行数(RowDimension),例2:矩阵的乘法,A=1;2;B=3,4,5;C=A*B,矩阵除法,若A为非奇异方阵,则X=A-1B,若A为非奇异方阵,则X=BA-1,矩阵左除:AX=B,求XMATLAB求解:X=AB,最小二乘解,矩阵右除:XA=B,求XMATLAB求解:X=B/A最小二乘解,注:若A为非奇异方阵,则A-1在Matlab中为inv(A),矩阵的次方运算,矩阵的次方运算,可由“”来达成,但矩阵必需是方阵,其次方运算才有意义,A=magic(3);B=A2,例3:,复数矩阵z,其“共轭转置”矩阵(ConjugateTranspose)可表示成矩阵z,转置和共轭转置矩阵,i=sqrt(-1);%单位虚数z=1+i,2;3,1+2i;w=z%共轭转置(注意z后面的单引号),例4:矩阵共轭转置,i=sqrt(-1);%单位虚数z=1+i,2;3,1+2i;w=z.%单纯转置(注意z后面的句点及单引号),想得到任何矩阵z的转置(Transpose),则可表示成矩阵矩阵z.,例5:矩阵的转置,若z为实数,则z和z.的结果是一样的,2、点运算,矩阵对应元素的直接运算,例如,A=123;456;780,B=A.A,3MATLAB数组运算函数,1.规则:设X=(xij)mn,则f(X)=(f(xij)mn,sincostancotseccscasinacosatanacotasecacsc,2.常用数学函数,三角与反三角函数,exploglog10sqrtpow2,ceilfixfloorroundremsign,absangleconjimagreal,指数与对数,复变函数,取整函数,cart2sphcart2polpol2cartsph2pol,坐标转换,注:若要对函数进行矩阵运算,方法为:funm(X,f),4矩阵分析计算命令,向量的p-norm,一个向量a的p-norm可以定义为,p=2时,此即为向量a的长度,或称欧氏长度(EuclideanLength),欲求一向量的p-norm,可使用norm指令norm(x,p),a=34;x=norm(a,1)%x=7y=norm(a,2)%y=5z=norm(a,inf),注意:,矩阵A的p-norm可以定义如下:,例9:normMatrix,norm指令亦可用于计算矩阵的p-norm,A=123;456;789;norm(A,2),矩阵的秩,A=123;456;789;rank(A),矩阵的行列式,A=123;456;789;rank(A),B=123;456;889;rank(B),矩阵的迹,A=123;456;789;trace(A),矩阵的零空间,A=123;456;789;null(A)null(A,r),Ax=0的解空间,正交化矩阵,s=orth(A)s=-0.21480.8872-0.52060.2496-0.8263-0.3879,s=orth(B)s=-0.2074-0.7711-0.6019-0.5070-0.44150.7403-0.83660.4587-0.2994,A=magic(4),R=rref(A),A(:,1)+3*A(:,2)-3*A(:,3),A(1,:)+3*A(2,:)-3*A(3,:),矩阵梯形化与极大无关组,用法:R=rref(A)R,L=rref(A),R给出矩阵的梯形形式,L给出极大无关组向量所在的行或列,subspace(1,2,3,3,4,2)subspace(1,2,3,3,4,2;1,5,2)subspace(1,2,3;6,7,1,3,4,2;1,5,2),两个子空间的夹角,用法:theta=subspace(v,u),chol(A)%三角分解,A=L*LT,lu(A)%A对称,A=L*U,U,S,V=svd(A)%A=U*S*V,qr(A)%A=q*r(q正交阵,r三角阵),或/%求解线性方程组,cond(A)%矩阵的条件数,5、MATLAB矩阵代数运算函数,inv(A)%矩阵的逆,Cholesky分解是将一个对称的正定矩阵分解为一个上三角矩阵和其转置的乘积。,X=pascal(5)R=chol(X)C=R*R,LU分解是将原正方(square)矩阵分解成一个上三角形矩阵或是排列(permuted)的上三角形矩阵和一个下三角形矩阵,这样的分解法又称为三角分解。,命令格式为:,L,U=lu(A),L,U,P=lu(A),例如:,B=132;-2-61;257L,U=lu(B)L*U,L,U,P=lu(B)P*L*U,QR分解法是将矩阵分解成一个正规正交矩阵与上三角形矩阵,矩阵A不必为正方矩阵。,A=1325;-2-616;2572Q,R=qr(A)Q*QQ*R,奇异值分解(sigularvaluedecomposition,SVD)是另一种正交矩阵分解法;SVD是最可靠的分解法,但是它比QR分解法要花上近十倍的计算时间。,U,S,V=svd(A),其中U和V代表二个相互正交矩阵,而S代表一对角矩阵。和QR分解法相同者,原矩阵A不必为正方矩阵。,A=1,2;3,1S,V,D=svd(A),eig(A)%A*x=*x,V,D=eig(A)%A*V=V*D,eig(A,B)%A*x=*B*x,V,D=eig(A,B)%A*V=B*V*D,例:设A=pascal(4),B=magic(4),并使用下列函数进行计算,1.当数据为行向量或列向量时,函数对整个向量进行计算.2.当数据为矩阵时,命令对列进行计算,即把每一列数据当成同一变量的不同观察值。max(求最大)、min(求最小)、mean(求平均值)、sum(求和)、std(求标准差)、cumsum(求累积和)、median(求中值)、diff(差分)、sort(升序排列)、sortrows(行升序排列)等等。,数据的简单分析,观察:生成一个36的随机数矩阵,并将其各列排序、求各列的最大值与各列元素之和。程序rand(seed,1);A=rand(3,6),Asort=sort(A),Amax=max(A),Asum=sum(A)结果,数据的简单分析,矩阵的比较运算,=,ba=b,关系运算符的用法:,关系运算符的用法,A=123;456;78,0b=A5A(b),3、同维矩阵间比较;返回0-1矩阵,2、矩阵
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 付费会员活动方案
- 代发营销活动方案
- 代表倡议活动方案
- 以往纱窗活动方案
- 仪仗兵自由活动方案
- 仲夏集体活动方案
- 企业中秋拓展活动方案
- 湖北省T8联盟2025届高三下学期高考考前模拟(一)数学试题
- 企业会议活动方案
- 企业公司元旦活动方案
- 《边教书边成长》读书分享课件
- DB11T 811-2011 场地土壤环境风险评价筛选值
- 以上由自治区教育科学规划办填写内蒙古自治区教育科学“十四五”规划课题立项申请评审书
- 骨髓腔输液技术教案输液通路与监护P页
- 顺义区六年级下学期语文期末试卷
- 2024年重庆市高考思想政治试卷真题(含答案解析)
- 2.2 社会主义制度在中国的确立(课件)-2024-2025学年高中政治必修一 中国特色社会主义 (统编版 )
- 河北省保定市2023-2024学年高二下学期7月期末生物试题
- 《通信原理》期末考试复习题库(含答案)
- 2024年中储粮集团招聘笔试参考题库附带答案详解
- 20-樊登读书会第20本书-《高绩效教练》省公开课一等奖全国示范课微课金奖课件
评论
0/150
提交评论