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))同样。

上一篇:二十五、详述 IntelliJ IDEA 提交代码前的 Code Analysis 机制


下一篇:getResource(String name)用法及源码分析