2022年Matlab二维数组及其应用 .pdf
Matlab: 二维数组及其应用二维数组实际上也是一个矩阵。应此直接创建一个矩阵就行。创建的方法你应该会吧,就是直接按行方式输入每个元素:同一行中的元素用逗号(,)或者用空格符来分隔,且空格个数不限;不同的行用分号(;)分隔。所有元素处于一方括号( )内。比如,创建一个35的矩阵(对应35的二维数组)A = 12 62 93 -8 22; 16 2 87 43 91; -4 17 -72 95 6 A = 12 62 93 -8 22 16 2 87 43 91 -4 17 -72 95 6 当然也可以用专门用来创建多维数组的cat 函数来创建。具体如下:函数cat 格式A=cat(n,A1,A2, ,Am)说明n=1 和 n=2 时分别构造 A1;A2和A1,A2,都是二维数组,而n=3 时可以构造出三维数组。例如: A1=1,2,3;4,5,6;7,8,9;A2=A1; A3=cat(2,A1,A2) A3 = 1 2 3 1 4 7 4 5 6 2 5 8 7 8 9 3 6 9 这样 A3 就是一个二维数组此外还有诸如特殊矩阵的创建方法等这里就不列举了你可以百度或者 Google 一下二维数组的变换我还不太确定你的意思:这里就提供几个矩阵的操作:1.矩阵的变维矩阵的变维有两种方法,即用 “ :” 和函数 “reshape”,前者主要针对2 个已知维数矩阵之间的变维操作;而后者是对于一个矩阵的操作。(1)“ :” 变维例 1-48 A=1 2 3 4 5 6;6 7 8 9 0 1 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 5 页 - - - - - - - - - A = 1 2 3 4 5 6 6 7 8 9 0 1 B=ones(3,4) B = 1 1 1 1 1 1 1 1 1 1 1 1 B(:)=A(:) B = 1 7 4 0 6 3 9 6 2 8 5 1 (2)Reshape函数变维格式B = reshape(A,m,n) %返回以矩阵A 的元素构成的m n 矩阵 B B = reshape(A,m,n,p, ) %将矩阵 A 变维为 m n pB = reshape(A,*m n p +) %同上B = reshape(A,siz) %由 siz 决定变维的大小,元素个数与A 中元素个数相同。矩阵变维例子: a=1:12; b=reshape(a,2,6) b = 1 3 5 7 9 11 2 4 6 8 10 12 2.矩阵的变向(1)矩阵旋转函数格式B = rot90 (A) %将矩阵 A 逆时针方向旋转90B = rot90 (A,k) %将矩阵 A 逆时针方向旋转(k 90),k 可取正负整数。例如: A=1 2 3;4 5 6;7 8 9 A = 1 2 3 4 5 6 7 8 9 Y1=rot90(A),Y2=rot90(A,-1) Y1 = %逆时针方向旋转3 6 9 2 5 8 1 4 7 Y2 = %顺时针方向旋转7 4 1 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 5 页 - - - - - - - - - 8 5 2 9 6 3 (2)矩阵的左右翻转函数fliplr 格式B = fliplr(A) %将矩阵 A 左右翻转(3)矩阵的上下翻转函数flipud 格式B = flipud(A) %将矩阵 A 上下翻转例如: A=1 2 3;4 5 6 A = 1 2 3 4 5 6 B1=fliplr(A),B2=flipud(A) B1 = 3 2 1 6 5 4 B2 = 4 5 6 1 2 3 (4)按指定维数翻转矩阵函数flipdim 格式B = flipdim(A,dim) % flipdim(A,1) = flipud(A) ,并且 flipdim(A,2)=fliplr(A) 。例如 A=1 2 3;4 5 6 A = 1 2 3 4 5 6 B1=flipdim(A,1),B2=flipdim(A,2) B1 = 4 5 6 1 2 3 B2 = 3 2 1 6 5 4 (5)复制和平铺矩阵函数repmat 格式B = repmat(A,m,n) %将矩阵 A 复制 m n 块,即 B由 m n 块 A 平铺而成。B = repmat(A,m n) %与上面一致B = repmat(A,*m n p +) %B由 m n p个 A 块平铺而成repmat(A,m,n) %当 A 是一个数a 时,该命令产生一个全由a 组成的 m n 矩阵。例如 A=1 2;5 6 A = 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 5 页 - - - - - - - - - 1 2 5 6 B=repmat(A,3,4) B = 1 2 1 2 1 2 1 2 5 6 5 6 5 6 5 6 1 2 1 2 1 2 1 2 5 6 5 6 5 6 5 6 1 2 1 2 1 2 1 2 5 6 5 6 5 6 5 6 3矩阵元素的数据变换对于小数构成的矩阵A 来说,如果我们想对它取整数,有以下几种方法:(1)按 -方向取整函数floor 格式floor(A) %将 A 中元素按 -方向取整,即取不足整数。(2)按 +方向取整函数ceil 格式ceil(A) %将 A 中元素按 +方向取整,即取过剩整数。(3)四舍五入取整函数round 格式round (A) %将 A 中元素按最近的整数取整,即四舍五入取整。(4)按离 0 近的方向取整函数fix 格式fix (A) %将 A 中元素按离0 近的方向取整例如: A=-1.5+4*rand(3) A = 2.3005 0.4439 0.3259 -0.5754 2.0652 -1.4260 0.9274 1.5484 1.7856 B1=floor(A),B2=ceil(A),B3=round(A),B4=fix(A) B1 = 2 0 0 -1 2 -2 0 1 1 B2 = 3 1 1 0 3 -1 1 2 2 B3 = 2 0 0 -1 2 -1 1 2 2 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 5 页 - - - - - - - - - B4 = 2 0 0 0 2 -1 0 1 1 (5)矩阵的有理数形式函数rat 格式n,d=rat (A) %将 A 表示为两个整数矩阵相除,即A=n./d 。例如:对于上例中的A n,d=rat(A) n = 444 95 131 -225 2059 -472 166 48 1491 d = 193 214 402 391 997 331 179 31 835 (6)矩阵元素的余数函数rem 格式C = rem (A, x) %表示 A 矩阵除以模数x 后的余数。若x=0,则定义rem(A, 0)=NaN,若 x0 ,则整数部分由fix(A./x) 表示,余数C=A-x.*fix (A./x) 。允许模x 为小数。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 5 页 - - - - - - - - -