《Matlab二维数组及其应用3524.pdf》由会员分享,可在线阅读,更多相关《Matlab二维数组及其应用3524.pdf(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、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
2、,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 个已知维数矩阵之间的变维操作;而后者是对于一
3、个矩阵的操作。(1)“:”变维 例 1-48 A=1 2 3 4 5 6;6 7 8 9 0 1 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 的元素构成的 mn 矩阵 B B=reshape(A,m,n,p,)%将矩阵 A 变维为 mnp B=reshape(A,*m n p+)%同上 B=reshape(A,siz)%由 siz 决定变维的大小,元素个数与
4、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 逆时针方向旋转 90 B=rot90(A,k)%将矩阵 A 逆时针方向旋转(k90),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 8 5 2 9 6 3(2)矩阵的左右翻转 函
5、数 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
6、(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 复制 mn 块,即 B 由 mn 块 A 平铺而成。B=repmat(A,m n)%与上面一致 B=repmat(A,*m n p+)%B 由 mnp 个 A 块平铺而成 repmat(A,m,n)%当 A 是一个数 a 时,该命令产生一个全由 a 组成的 mn 矩阵。例如 A=1 2;5 6 A=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
7、 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)
8、%将 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 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 为小数。