B = reshape0(A,sz,method,padWithWhat)使用大小向量sz重塑A,以定义大小(B)。例如,重塑(A,[2,3])将A重塑成一个2 × 3矩阵。Sz必须包含至少2个元素。如果prod(sz)与numel(A)不相同,这个函数将截断或填充输入。
例子
B = reshape0(A,[sz1,sz2,…,szN]) shape A into A sz1-by-…-by-szN array where sz1,…,szN表示每个维度的大小。您可以指定一个单一尺寸大小1有维度的大小自动计算,这样的元素B匹配的元素数量答:例如,如果是一个10 *矩阵,那么reshape0 (a[2 2 1])重塑成2-by-2-by-25 100个元素的数组。
如果prod(sz)与numel(A)不相同,则此函数将截断或填充(默认)要匹配的输入。例如,[A, padSize] = 1:21 (1x21数组),然后B =重塑(A,[-1,5],'truncate')将截断padSize元素,重塑数组为4x5数组。而B =重塑(A,[-1,5],'pad')将使用padSize元素填充数组,并将数组重塑为5x5数组。
你可以定义填充数组的内容,例如,如果A = false(4,5),那么[B,padSize] = reshape0(A,[-1,7],'pad',true)将填充A为true(padSize,1)并将数组重塑为3x7数组。
引用作为
ytzhak goussha(2021)。在填充/截断不匹配维度后重塑数组(//www.tatmou.com/matlabcentral/fileexchange/87724-reshape-array-after-padding-truncating-mismatching-dimension), MATLAB中央文件交换。检索.