Main Content

repelem

重复数组元素副本

说明

示例

u = repelem(v,n) 返回一个重复 v 中元素的向量,其中 v 是一个标量或向量。

  • 如果 n 是一个标量,则 v 的每个元素都重复 n 次。u 的长度为 length(v)*n

  • 如果 n 为向量,则它必须与 v 具有相同的长度。n 的每个元素指定重复 v 对应元素的次数。

table 输入不支持此语法。

示例

B = repelem(A,r1,...,rN)A 中的每个元素依 r1,...,rN 进行重复,返回一个数组。r1,...,rN 中的每个元素必须是一个标量,或是与 A 在对应维度具有相同长度的向量。例如,如果 A 是一个矩阵,repelem(A,2,3) 则返回一个矩阵,其中包含 A 中每个元素的一个 2×3 块。

示例

全部折叠

创建一个向量,并将其每个元素重复三次复制到一个新向量中。

v = [1 2 3 4];
u = repelem(v,3)
u = 1×12

     1     1     1     2     2     2     3     3     3     4     4     4

v 的头两个元素重复两次,最后两个元素重复三次。

u = repelem(v,[2 2 3 3])
u = 1×10

     1     1     2     2     3     3     3     4     4     4

创建一个矩阵,并将其每个元素复制到一个新矩阵的 3×2 块中。

A = [1 2; 3 4]
A = 2×2

     1     2
     3     4

B = repelem(A,3,2)
B = 6×4

     1     1     2     2
     1     1     2     2
     1     1     2     2
     3     3     4     4
     3     3     4     4
     3     3     4     4

创建一个矩阵并将其列复制到新数组中,第一列重复两次,第二列重复三次。

A = [1 2; 3 4]
A = 2×2

     1     2
     3     4

B = repelem(A,1,[2 3])
B = 2×5

     1     1     2     2     2
     3     3     4     4     4

创建两个列向量。

A = [1; 3; 5];
B = [2; 4];

使用 repelemrepmat 生成两个向量的所有元素组合。输出 T 的每行均为来自第一个向量的第一个元素和来自第二个向量的第二个元素的组合。此命令等效于求两个向量的笛卡尔积。

T = [repelem(A,numel(B)) repmat(B,numel(A),1)]
T = 6×2

     1     2
     1     4
     3     2
     3     4
     5     2
     5     4

从 R2023a 开始,您还可以使用 combinations 函数来生成两个向量的所有元素组合。

T = combinations(A,B)
T=6×2 table
    A    B
    _    _

    1    2
    1    4
    3    2
    3    4
    5    2
    5    4

输入参数

全部折叠

输入值,指定为标量或向量。

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

每个元素的重复次数,指定为标量或向量。如果 n 是一个标量,则 v 的所有元素都重复 n 次。如果 n 为向量,则 n 的各个元素用于指定重复 v 中对应元素的次数。在任一情况下,n 都必须是整数值。

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

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

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

每个维度的重复因子,指定为整数值标量或向量的单独参数。如果 A 是一个表格,则每个重复因子都必须是标量。

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

输出参数

全部折叠

输出向量。如果 v 是一个行向量或标量,则 u 是一个行向量。如果 v 是一个列向量,则 u 也是一个列向量。

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string | struct | table | cell | datetime | duration

输出数组,以矩阵或多维数组的形式返回。

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string | struct | table | cell | datetime | duration

扩展功能

版本历史记录

在 R2015a 中推出

另请参阅

|