图片缩略图

在填充/截断不匹配维度后重塑数组

version 1.0.1 (4.07 KB) by ytzhak goussha
使用重塑函数而不用担心尺寸大小,选择截断矢量或填充它以匹配所需的尺寸

4下载

更新2021年2月23日

查看许可协议

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中央文件交换。检索

MATLAB版本兼容性
创建R2020a
与任何版本兼容
平台的兼容性
窗户 macOS Linux

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!