Matlab中reshape函数的使用

目录

语法

说明

示例

将向量重构为矩阵

将矩阵重构为具有指定的列数

将多维数组重构为矩阵


        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

你可能感兴趣的:(Matlab,matlab)