您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 商业计划书 > 2015-1-Matlab向量与矩阵的生成和运算
数学实验向量与矩阵的生成和运算数学实验向量与矩阵的生成向量与矩阵运算向量的生成直接输入:a=[1,2,3,4]冒号运算符a=[1:4]==a=[1,2,3,4]b=[0:pi/3:pi]==b=[0,1.0472,2.0944,3.1416]c=[6:-2:0]==c=[6,4,2,0]例:从矩阵中抽取行或列数学实验向量与矩阵的生成(续)向量与矩阵运算矩阵的生成直接输入:A=[1,2,3;4,5,6;7,8,9]由向量生成由函数生成通过编写m文件生成例:x=[1,2,3];y=[2,3,4];A=[x,y],B=[x;y]例:C=magic(3)数学实验常见矩阵生成函数zeros(m,n)生成一个m行n列的零矩阵,m=n时可简写为zeros(n)ones(m,n)生成一个m行n列的元素全为1的矩阵,m=n时可写为ones(n)eye(m,n)生成一个主对角线全为1的m行n列矩阵,m=n时可简写为eye(n),即为n维单位矩阵diag(X)若X是矩阵,则diag(X)为X的主对角线向量若X是向量,diag(X)产生以X为主对角线的对角矩阵tril(A)提取一个矩阵的下三角部分triu(A)提取一个矩阵的上三角部分rand(m,n)产生0~1间均匀分布的随机矩阵m=n时简写为rand(n)randn(m,n)产生均值为0,方差为1的标准正态分布随机矩阵m=n时简写为randn(n)数学实验矩阵操作提取矩阵的部分元素:冒号运算符A(:)A的所有元素A(:,:)二维矩阵A的所有元素A(:,k)A的第k列,A(k,:)A的第k行A(k:m)A的第k到第m个元素A(:,k:m)A的第k到第m列组成的子矩阵A(:)与A(:,:)的区别?如何获得由A的第一、三行和第一、二列组成的子矩阵?自己动手数学实验矩阵操作矩阵的旋转fliplr(A)左右旋转flipud(A)上下旋转rot90(A)逆时针旋转90度;rot90(A,k)逆时针旋转k×90度例:A=[123;456]B=fliplr(A)C=flipud(A)D=rot90(A),E=rot90(A,-1)数学实验矩阵操作矩阵的转置与共轭转置’共轭转置.’转置,矩阵元素不取共轭例:A=[12;2i3i]B=A’C=A.’点与单引号之间不能有空格!数学实验矩阵操作改变矩阵的形状:reshapereshape(A,m,n):将矩阵元素按列方向进行重组重组后得到的新矩阵的元素个数必须与原矩阵元素个数相等!数学实验矩阵操作查看矩阵的大小:sizesize(A)列出矩阵A的行数和列数size(A,1)返回矩阵A的行数size(A,2)返回矩阵A的列数例:A=[123;456]size(A)size(A,1)size(A,2)length(x)返回向量X的长度length(A)等价于max(size(A))数学实验矩阵基本运算矩阵的加减:对应分量进行运算要求参与加减运算的矩阵具有相同的维数例:A=[123;456];B=[321;654]C=A+B;D=A-B;矩阵的普通乘法要求参与运算的矩阵满足线性代数中矩阵相乘的原则例:A=[123;456];B=[21;34];C=A*B数学实验矩阵基本运算矩阵的除法:/、\右除和左除若A可逆方阵,则A\B==A的逆左乘B==inv(A)*BB/A==A的逆右乘B==B*inv(A)X=A\B==A*X=BX=B/A==X*A=B通常,矩阵除法可以理解为当A和B行数相等时即可进行左除当A和B列数相等时即可进行右除数学实验矩阵的乘方A是方阵,p是正整数A^p表示A的p次幂,即p个A相乘。若A是方阵,p不是正整数A^p的计算涉及到A的特征值分解,即若A=V*D*V-1则A^p=V*(D.^p)/V数学实验矩阵的乘方若a是标量,A是方阵,且[V,D]=eig(A),则a^A=V*(a^D)/V若A,P均是矩阵,则A^P无定义若a是标量,ndddD00000021ndadadaDa^000^000^^21则数学实验矩阵的Kronecker乘积矩阵Kronecker乘积的定义设A是n×m矩阵,B是p×q矩阵,则A与B的kronecker乘积为:mmnnnmaBaBaBaBaBaBCABaBaBaB111212122212Kronecker乘积的性质是np×mq矩阵;通常BAABBA任何两个矩阵都有Kronecker乘积Matlab中实现两个矩阵Kronecker相乘的函数为kron(A,B)Kronecker乘积有时也称张量积数学实验矩阵的数组运算数组运算:对应元素进行运算点与算术运算符之间不能有空格!数组运算包括:点乘、点除、点幂相应的数组运算符为:“.*”,“./”,“.\”和“.^”参与运算的对象必须具有相同的形状!例:A=[123;456];B=[321;654];C=A.*B;D=A./B;E=A.\B;F=A.^B;数学实验函数取值设x是变量,f是一个函数当x=a是标量时,f(x)=f(a)也是一个标量当x=[a,b,…,c]是向量时,f(x)=[f(a),f(b),…,f(c)]函数作用在矩阵上的取值若A是矩阵,则f(A)是一个与A同形状的矩阵f作用在x的每个分量上数学实验函数取值怎样计算eA?例:x=[0:pi/4:pi];A=[123;456];y1=sin(x);y2=exp(A);y3=sqrt(A);)exp()exp()exp()exp()exp()exp()exp()exp()exp()exp(212222111211mnmmnnaaaaaaaaaA例:数学实验矩阵的超越函数Matlab提供了三种矩阵函数:expm、sqrtm、logm详情参见联机帮助(helpexpm/sqrtm/logm)更一般的矩阵函数:funmfunm(A,@fun)参数fun的可以是exp,,log,cos,sin,cosh,sinh数学实验数与数组的点幂x.^y=[1^4,2^5,3^6]=[1,32,729]x.^2=[1^2,2^2,3^2]=[1,4,9]2.^x=?.^前面留个空格例:x=[123];y=[456];2.^[x;y]=?Matlab中的所有标点符号必须在英文状态下输入数学实验Matlab中常见数学函数sin、cos、tan、cot、sec、csc、…asin、acos、atan、acot、asec、acsc、…exp、log、log2、log10、sqrtabs、conj、real、imag、signfix、floor、ceil、round、mod、remmax、min、sum、mean、sort、fftnorm、rank、det、inv、eig、lu、qr、svd……①log是自然对数,即以e为底数②mod(x,y)结果与y同号,rem(x,y)则与x同号③max等函数的参数是矩阵时,是作用在矩阵各列上数学实验上机作业1.试分别生成5阶的单位阵、8阶均匀分布的随机矩阵及其下三角矩阵2.生产列向量x=[1,3,5,7,9,…,29]3.生成以x的前5个元素为对角线的矩阵A4.生成一个与A同阶的正态分布的随机矩阵B5.输出A与B的kronecker乘积矩阵C6.生成由B与其同阶魔方矩阵点乘得到的矩阵D7.生成由D的第2、4、5行和第4、1列组成的子矩阵E8.求出矩阵E的最大元素
本文标题:2015-1-Matlab向量与矩阵的生成和运算
链接地址:https://www.777doc.com/doc-5192881 .html