repmat

数组的重复拷贝

描述

例子

B = repmat (一个,n)返回包含以下内容的数组n的副本一个在行和列维度中。的大小B大小(一个)* n一个是一个矩阵。

例子

B = repmat (一个,rN r1……)指定标量列表,rN r1 . .,它描述了如何复制一个排列在每个维度上。当一个N尺寸,尺寸B大小(一个)。* (r1 rN……)。例如,repmat ([1 2;3 4],2、3)返回一个4×6矩阵。

例子

B = repmat (一个,r)用行向量指定重复模式r。例如,repmat (A, 3 [2])返回相同的结果repmat (2, 3)

例子

全部折叠

创建一个3×2矩阵,其元素包含值为10。

3 = repmat(10日,2)
一个=3×210 10 10 10 10 10 10 10

将一个矩阵复制成2乘2的块排列。

A = diag([100 200 300])
一个=3×3100 00 0 200 00 0 300
B = repmat (2)
B =6×6100 100 0 0 0 0 0 200 200 0 0 0 0 0 0 0 300 300 200 100 100 0 0 0 0 0 0 0 200 300 0 0 0 0 0 300

将一个矩阵复制成2乘3的块排列。

A = diag([100 200 300])
一个=3×3100 00 0 200 00 0 300
B = repmat (2, 3)
B =6×9100 100 0 0 0 0 200 100 200 0 0 0 0 0 0 0 300 200 300 0 0 0 0 0 0 0 0 0 100 300 100 0 0 200 100 200 0 0 0 0 0 0 0 300 200 300 0 0 0 0 0 0 0 300

将一个矩阵复制成2×3×2的块排列。

A = [12];3 4]
一个=2×21 2 3 4
B = repmat(A,[2 3 2])
B = B (:: 1) = 1 2 1 2 1 2 3 4 3 4 2 3 4 1 1 2 1 2 3 4 3 4 3 4 B (:,: 2) = 1 2 1 2 1 2 3 4 3 4 2 3 4 1 1 2 1 2 3 4 3 4 3 4

将行向量垂直堆叠四次。

一个= 1:4;B = repmat (4 - 1)
B =4×41 2 3 4 1 2 3 4 1 2 3 4 4

水平堆叠一个列向量四次。

= (1:3)';B = repmat (1, 4)
B =3×41 1 1 1 2 2 2 3 3 3 3

创建一个包含变量的表年龄高度

一个=表([39;26]、[70;63年),“VariableNames”,{“年龄”“高度”})
一个=2×2表年龄身高___ _____ 39 70 26 63

将表格复制成2乘3的块格式。

B = repmat (2, 3)
B =4×6表年龄身高Age_1 Height_1 Age_2 Height_2 ___ _____ ________ ________ ________ ________ 39 70 39 70 39 70 26 63 26 63 26 63 39 70 39 70 39 70 26 63 26 63 26 63

repmat重复表中的条目,并向新的变量名追加一个数字。

输入参数

全部折叠

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

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑|字符|字符串|结构体|表格|datetime|持续时间|calendarDuration|分类|细胞
复数的支持:万博1manbetx是的

输入数组在行和列维度中重复的次数,指定为整数值。如果n0如果为负数,则结果为空数组。

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

每个维度的重复因子,指定为整数值的单独参数。如果重复因子是0如果为负数,则结果为空数组。

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

每个维度的重复因子向量,指定为整数值的行向量。如果有任何值r0如果为负数,则结果为空数组。

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

提示

  • 若要将输入的张量积与一组1相乘,可使用克隆亚麻。例如,堆栈行向量一个= 1:3四倍垂直,你可以使用B = kron (, (4,1))

  • 若要创建块数组并一次性执行二进制操作,请使用bsxfun。在某些情况下,bsxfun提供一个更简单和内存效率更高的解决方案。例如,将向量相加一个= 1:5B = (1:10) '要生成10×5的数组,请使用bsxfun (@plus A, B)而不是repmat (10 - 1) + repmat (B, 1、5)

  • 一个是特定类型的标量时,您可以使用其他函数来获得与repmat

    repmat语法 等效替代
    repmat (NaN, m, n) 南(m, n)
    repmat(单(正),m, n) 正(m, n,“单”)
    repmat (int8 (0), m, n) 0 (m, n, int8)
    repmat (uint32 (1), m, n) (m, n, uint32)
    repmat (eps, m, n) 每股收益(1 (m, n))

兼容性的考虑

全部展开

R2019b改变了行为

扩展功能

之前介绍过的R2006a