• matlab中reshape 重构数组


    来源: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 矩阵。

    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
    
    
     
     

    输入参数

    全部折叠

    A - 输入数组
    向量 | 矩阵 | 多维数组

    输入数组,指定为向量、矩阵或多维数组。

    数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string | cell | datetime | duration | calendarDuration
    复数支持:

    sz - 输出大小
    由整数组成的行向量

    输出大小,指定为由整数组成的行向量。sz 的每个元素指示 B 中对应维度的大小。必须指定 sz,以便 AB 中的元素数目相同。即,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 数组。有关详细信息,请参阅Run MATLAB Functions on a GPU (Parallel Computing Toolbox)。

    分布式数组
    使用 Parallel Computing Toolbox™ 在群集的组合内存中对大型数组进行分区。

    此函数完全支持分布式数组。有关详细信息,请参阅Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox)。

    另请参阅

    colon | permute | repmat | shiftdim | squeeze

  • 相关阅读:
    CRM小结 – Account Management 1
    懂ABAP的好处
    Enhancement in Sales order 销售订单中的增强
    Account Classification
    关于Business Data Toolset
    Account Life Cycle Stage - 客户的生命周期管理
    使用维护Relationship
    Tansaction Variant and Screen Variant
    关于软件测试的认识与学习目标
    《ASP.NET MVC Music Store Tutorial》在Visual Studio 2008简体中文环境下的代码修订
  • 原文地址:https://www.cnblogs.com/MCSFX/p/11707067.html
Copyright © 2020-2023  润新知