《MATLAB矩阵的特殊运算.ppt》由会员分享,可在线阅读,更多相关《MATLAB矩阵的特殊运算.ppt(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、MATLAB矩阵的特殊运算孙志强1矩阵对角线元素的抽取v函数diag格式X=diag(v,k)%以向量v的元素作为矩阵X的第k条对角线元素,当k=0时,v为X的主对角线;当k0时,v为上方第k条对角线;当k0:抽取上方第k条对角线元素;kv=123;x=diag(v,-1)x=0000100002000030A=123;456;789A=123456789v=diag(A,1)v=262上三角阵和下三角阵的抽取v函数函数tril%取下三角部分取下三角部分格式L=tril(X)%抽取X的主对角线的下三角部分构成矩阵LL=tril(X,k)%抽取X的第k条对角线的下三角部分;k=0为主对角线;k0
2、为主对角线以上;k0为主对角线以上;kA=ones(4)%产生4阶全1阵A=1111111111111111L=tril(A,1)%取下三角部分L=1100111011111111U=triu(A,1)%取上三角部分U=11111111011100113矩阵的变向v函数rot90格式B=rot90(A)%将矩阵A逆时针方向旋转90B=rot90(A,k)%将矩阵A逆时针方向旋转(k90),k可取正负整数。例程vA=123;456;789A=123456789Y1=rot90(A),Y1=369258147%逆时针方向旋转Y2=rot90(A,-1)Y2=741852963%顺时针方向旋转4.矩
3、阵元素的数据变换v对于小数构成的矩阵A来说,如果我们想对它取整数,有以下几种方法:(1)按-方向取整函数floor格式floor(A)%将A中元素按-方向取整,即取不足整数。(2)按+方向取整函数ceil格式ceil(A)%将A中元素按+方向取整,即取过剩整数。(3)四舍五入取整函数round格式round(A)%将A中元素按最近的整数取整,即四舍五入取整。(4)按离0近的方向取整函数fix格式fix(A)%将A中元素按离0近的方向取整例程vA=-1.5+4*rand(3)A=2.30050.44390.3259-0.57542.0652-1.42600.92741.54841.7856B1=
4、floor(A),B2=ceil(A),vB3=round(A),B4=fix(A)B1=200-12-2011B2=31103-1122B3=200-12-1122B4=20002-10115.求最大值和最小值求最大值和最小值最大值和最小值的函数分别为最大值和最小值的函数分别为max和和min(1)y=max(X):返回向量:返回向量X的最大值存入的最大值存入y(2)y,I=max(X):返回向量:返回向量X的最大值存入的最大值存入y,最大值的序号存入,最大值的序号存入I求向量求向量X的最小值的函数是的最小值的函数是min(X),用法和,用法和max(X)完全相同。完全相同。例程v x=-4
5、3,72,9,16,23,47;x=-43,72,9,16,23,47;v y=max(x)%y=max(x)%求向量求向量x x中的最大值中的最大值v y,l=max(x)%y,l=max(x)%求向量求向量x x中的最大值及其对应的位置中的最大值及其对应的位置vy=y=v 72 72vy=y=v 72 72vl=l=v 2 26.求求矩阵矩阵的最大值和最小值的最大值和最小值vy=max(A)v返回一个行向量,向量的第返回一个行向量,向量的第i个元素个元素是矩阵是矩阵A的第的第i列上的最大值。列上的最大值。Y,U=max(A)Y,U=max(A)返回行向量返回行向量Y Y和和U U,Y Y向
6、量记录向量记录A A的每列的最大的每列的最大值,值,U U向量记录每列最大值的行号。向量记录每列最大值的行号。例程v a=9,6,7;20,9,2;15,13,0;3,4,6va=v 9 6 7v 20 9 2v 15 13 0v 3 4 6v y=max(a)%每列的最大值每列的最大值vy=v 20 13 7 y,u=max(a)%每列的最大值及下每列的最大值及下标标y=20 13 7u=2 3 1 max(a,2)%dim=2,每行的最,每行的最大值大值ans=9 20 15 67.求和与求积求和与求积v数据序列求和与求积的函数是数据序列求和与求积的函数是sum和和prodv设设X是一个向
7、量,是一个向量,A是一个矩阵是一个矩阵sum(X):返回:返回向量向量X各元素的各元素的和和prod(X):返回:返回向量向量X各元素的各元素的乘积乘积sum(A):返回一个:返回一个行行向量,第向量,第i个元素是个元素是A的第的第i列列的元素的元素和和prod(A):返回一个:返回一个行行向量,第向量,第i个元素是个元素是A的第的第i列列元素元素乘积乘积sum(A,dim)prod(A,dim)例程v a=1,2,3;4,5,6va=v 1 2 3v 4 5 6v a_s=sum(a)%每列之和每列之和va_s=v 5 7 9v a_s2=sum(a,2)%dim=2,每行之和,每行之和va_s2=v 6v 15v a=1,2,3;4,5,6va=v 1 2 3v 4 5 6v a_p=prod(a)%每列之积每列之积va_p=v 4 10 18v a_p2=prod(a,2)%每行之积每行之积va_p2=v 6v 120