Matlab:二维数组及其应用
二维数组实际上也是一个矩阵。应此直接创建一个矩阵就行。创建的方法你应该会吧,就是直接按行方式输入每个元素:同一行中的元素用逗号(,)或者用空格符来分隔,且空格个数不限;不同的行用分号(;)分隔。所有元素处于一方括号([ ])内。
比如,创建一个3×5的矩阵(对应3×5的二维数组)

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=1n=2时分别构造[A1A2][A1A2],都是二维数组,而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]
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
2Reshape函数变维
格式  B = reshape(A,m,n)      %返回以矩阵A的元素构成的m×n矩阵B
B = reshape(A,m,n,p,…)  %将矩阵A变维为m×n×p×…
B = 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逆时针方向旋转90°
B = 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
    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块,即Bm×nA平铺而成。
B = repmat(A,[m n])      %与上面一致
B = repmat(A,[m n p…])  %Bm×n×p×…A块平铺而成
repmat(A,m,n)          %A是一个数a时,该命令产生一个全由a组成的m×n矩阵。
例如
>> 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    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
matlab数组赋值    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
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,若x≠0,则整数部分由fix(A./x)表示,余数C=A-x.*fix (A./x)。允许模x为小数。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。