问题概述:创建三维数组a,第1页为[1 2;3 4],第2页为[1 2;2 1],第3页为[1 2;2 2]。重排生成数值b为3行、2列、2页。
第一问:创建三维数组a
a=[1 2;3 4]
a =
1 2
3 4
a(:,:,2)=[1 2;2 1]
a(:,:,1) =
1 2
3 4
a(:,:,2) =
1 2
2 1
a(:,:,3)=[1 2;2 2]
a(:,:,1) =
1 2
3 4
a(:,:,2) =
1 2
2 1
a(:,:,3) =
1 2
2 2
第二问:重排生成数值b为3行、2列、2页
重排条件:不同形状中的元素数量相同,就可以将它们重构成具有任意维度的数组。
数组a元素数量:223=12
数组b元素数量:322=12
所以符合重排条件
需要用到reshape函数
C=reshape(A,m,n,p)
C为重排后的数组
A为原来的数组
m为C的行
n为C的列
p为C的页
b=reshape(a,3,2,2)
b(:,:,1) =
1 4
3 1
2 2
b(:,:,2) =
2 2
1 2
1 2
参考资料:
重构和重新排列数组