matlab 向量与矩阵运算

matlab 向量与矩阵运算

ID:20793258

大小:233.00 KB

页数:22页

时间:2018-10-15

上传者:U-2462
matlab 向量与矩阵运算_第1页
matlab 向量与矩阵运算_第2页
matlab 向量与矩阵运算_第3页
matlab 向量与矩阵运算_第4页
matlab 向量与矩阵运算_第5页
资源描述:

《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)其它特殊矩阵生成函数:magic、hilb、pascal 矩阵操作提取矩阵的部分元素:冒号运算符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可逆方阵,则AB<==>A的逆左乘B<==>inv(A)*BB/A<==>A的逆右乘B<==>B*inv(A)X=AB<==>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是标量,则 矩阵的Kronecker乘积矩阵Kronecker乘积的定义设A是n×m矩阵,B是p×q矩阵,则A与B的kronecker乘积为:Kronecker乘积的性质是np×mq矩阵;通常任何两个矩阵都有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);例: 矩阵的超越函数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、…det、inv、eig、rank、………log是自然对数,即以e为底数mod(x,y)结果与y同号,rem(x,y)则与x同号max等函数的参数是矩阵时,是作用在矩阵各列上 上机作业试分别生成5阶的单位阵、8阶均匀分布的随机矩阵 及其下三角矩阵生产列向量x=[1,3,5,7,9,…,29]生成以x的前5个元素为对角线的矩阵A生成一个与A同阶的正态分布的随机矩阵B输出A与B的kronecker乘积矩阵C生成由B与其同阶魔方矩阵点乘得到的矩阵D生成由D的第2、4、5行和第4、1列组成的子矩阵E求出矩阵E的最大元素教材第53页,1、2、3、4、5

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭