来源:https://ww2.mathworks.cn/help/matlab/ref/reshape.html?searchHighlight=reshape&s_tid=doc_srchtitle
eshape
说明
示例
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 矩阵。
B = 5×2
1 6
2 7
3 8
4 9
5 10
将矩阵重构为具有指定的列数
将一个 4×4 方阵重构为一个 2 列矩阵。为第一个维度指定 [] 以使 reshape 自动计算合适的行数。
A = 4×4
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
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 矩阵。
B = 9×2
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
输入参数
全部折叠
A - 输入数组 向量 | 矩阵 | 多维数组
输入数组,指定为向量、矩阵或多维数组。
数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string | cell | datetime | duration | calendarDuration 复数支持: 是
sz - 输出大小 由整数组成的行向量
输出大小,指定为由整数组成的行向量。sz 的每个元素指示 B 中对应维度的大小。必须指定 sz ,以便 A 和 B 中的元素数目相同。即,prod(sz) 必须与 numel(A) 相同。
对于第二个维度以上的维度,输出 B 不反映大小为 1 的尾部维度。例如,reshape(A,[3,2,1,1]) 生成 3×2 矩阵。
示例: reshape(A,[3,2])
示例: reshape(A,[6,4,10])
示例: reshape(A,[5,5,5,5])
sz1,...,szN - 每个维度的大小 两个或以上的整数 | [] (可选)
每个维度的大小,指定为具有最多一个 [] (可选)的两个或以上的整数。必须至少指定 2 个维度大小,并且最多一个维度大小可以指定为 [] ,这样会自动计算该维度的大小以确保 numel(B) 与 numel(A) 相匹配。当使用 [] 自动计算维度大小时,您显式指定的维度必须均匀划分为输入矩阵 numel(A) 中的元素数目。
对于第二个维度以上的维度,输出 B 不反映大小为 1 的尾部维度。例如,reshape(A,3,2,1,1) 生成 3×2 矩阵。
示例: reshape(A,3,2)
示例: reshape(A,6,[],10)
示例: reshape(A,2,5,3,[])
示例: reshape(A,5,5,5,5)
输出参数
全部折叠
B - 重构的数组 向量 | 矩阵 | 多维数组 | 元胞数组
重构的数组,以向量、矩阵、多维数组或元胞数组的形式返回。B 中的数据类型和元素数与 A 中的数据类型和元素数相同。B 保持其在 A 中的列顺序。
数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string | cell | datetime | duration | calendarDuration
扩展功能
tall 数组 对行数太多而无法放入内存的数组进行计算。
此函数支持 tall 数组,但存在以下限制:
-
不支持重构 tall 维度(维度一)。第一个维度输入应始终为空,如 reshape(X,[],M,N,...) 。
有关详细信息,请参阅 tall 数组。
C/C++ 代码生成 使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。
GPU 数组 通过使用 Parallel Computing Toolbox™ 在图形处理单元 (GPU) 上运行来加快代码执行。
此函数完全支持 GPU 数组。有关详细信息,请参阅Run MATLAB Functions on a GPU (Parallel Computing Toolbox)。
分布式数组 使用 Parallel Computing Toolbox™ 在群集的组合内存中对大型数组进行分区。
此函数完全支持分布式数组。有关详细信息,请参阅Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox)。
|
请发表评论