目录
reshape函数是重构数组。
语法
B = reshape(A,sz)
B = reshape(A,sz1,...,szN)
说明
B = reshape(A,sz) 使用大小向量 sz 重构 A 以定义 size(B)。例如,reshape(A,[2,3]) 将 A 重构为一个 2×3 矩阵。sz 必须至少包含 2 个元素,prod(sz) 必须与 numel(A) 相同。
B = reshape(A,sz1,...,szN) 将 A 重构为一个 sz1×...×szN 数组,其中 sz1,...,szN 指示每个维度的大小。可以指定 [] 的单个维度大小,以便自动计算维度大小,以使 B 中的元素数与 A 中的元素数相匹配。例如,如果 A 是一个 10×10 矩阵,则 reshape(A,2,2,[]) 将 A 的 100 个元素重构为一个 2×2×25 数组。
示例
将向量重构为矩阵
将 1×10 向量重构为 5×2 矩阵。
A = 1:10;
B = reshape(A,[5,2])
B = 5×2
1 6
2 7
3 8
4 9
5 10
将矩阵重构为具有指定的列数
将一个 4×4 方阵重构为一个 2 列矩阵。为第一个维度指定 [] 以使 reshape 自动计算合适的行数。
A = magic(4)
A = 4×4
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
B = reshape(A,[],2)
B = 8×2
16 3
5 10
9 6
4 15
2 13
11 8
7 12
14 1
结果是一个 8×2 矩阵,它的元素数量与原始矩阵相同。B 也保持其在 A 中的列顺序。
将多维数组重构为矩阵
将由零组成的 3×2×3 数组重构为 9×2 矩阵。
A = zeros(3,2,3);
B = reshape(A,9,2)
B = 9×2
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
本文详细介绍了reshape函数的使用方法,包括如何将向量或矩阵重构为新的矩阵或多维数组,并保持原有的元素数量不变。提供了不同场景下的应用示例,如向量到矩阵、矩阵到指定列数的矩阵以及多维数组到矩阵的转换。
6890

被折叠的 条评论
为什么被折叠?



