matlab reshape函数
语法
(2)
(3)
(4)
(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))同样。