首页 > 代码库 > matlab reshape函数

matlab reshape函数

语法

(1)B = reshape(A,m,n)

用法:
B=reshape(A,m,n) 返回m*n矩阵B,它的元素是获得A的行宽度。如果A没有m*n元素,得到一个错误结果。

例子:

<span style="font-size:18px;">>> A=rand(1,10)</span>
结果:

<span style="font-size:18px;">A =

  Columns 1 through 8

    0.1622    0.7943    0.3112    0.5285    0.1656    0.6020    0.2630    0.6541

  Columns 9 through 10

    0.6892    0.7482
</span>

<span style="font-size:18px;">>> B=reshape(A,5,2)</span>
结果:
B =

    0.1622    0.6020
    0.7943    0.2630
    0.3112    0.6541
    0.5285    0.6892
    0.1656    0.7482

(2)

B = reshape(A,m,n,p,...)

B = reshape(A,[m n p ...])
返回一个和A有相同元素的n维数组,但结构变为m * n * p * …

例如:

<span style="font-size:18px;">>> A=rand(1,12)</span>
结果:A矩阵
A =

  Columns 1 through 8

    0.4505    0.0838    0.2290    0.9133    0.1524    0.8258    0.5383    0.9961

  Columns 9 through 12

    0.0782    0.4427    0.1067    0.9619

>> D=reshape(A,2,3,2)

D(:,:,1) =

    0.4505    0.2290    0.1524
    0.0838    0.9133    0.8258


D(:,:,2) =

    0.5383    0.0782    0.1067
    0.9961    0.4427    0.9619

(3)

B = reshape(A,...,[],...)

>> C=reshape(A,5,[])
结果:

C =

    0.1622    0.6020
    0.7943    0.2630
    0.3112    0.6541
    0.5285    0.6892
    0.1656    0.7482

(4)

B = reshape(A,siz)

返回一个与A相同元素的n维阵列,但是改造依据siz,一个向量改造改造的阵列的维度。数值prod(siz)必须和prod(size(A))相同。