文档

repmat

数组的重复拷贝

语法

B = repmat(A,n)
B = repmat(A,r1,…,rN)
B = repmat(A,r)

描述

例子

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)

例子

全部折叠

将矩阵的副本重复成2乘2的块排列。

A = diag([100 200 300])
一个=100 00 0 200 00 0 300
B = repmat(A,2)
B =100 00 100 00 0 200 00 200 00 0 300 00 300 100 00 100 00 0 200 00 0 300 00 300

重复一个矩阵的副本到一个2乘3的块排列。

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

重复一个矩阵的副本到一个2乘3乘2的块排列。

A = [1 2;3 4]
一个=1 2 3 4
B = repmat(A,[2 3 2])
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 (:,: 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

垂直叠加一个行向量四次。

A = 1:4;B = repmat(A,4,1)
B =1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4

将列向量水平叠加四次。

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

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

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

以2乘3的块格式重复表的副本。

B = repmat(A,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 70 70 70 70 26 26 26 63

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

输入参数

全部折叠

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

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑|字符|字符串|结构体|表格|细胞
复数支持:金宝app是的

在行和列维度中重复输入数组的次数,指定为整数值。如果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的数组的张量积来构建块数组,使用克隆亚麻.例如,叠加行向量A = 1:3垂直四次,就可以用了B = kron(A,ones(4,1))

  • 若要在一次传递中创建块数组并执行二进制操作,请使用bsxfun.在某些情况下,bsxfun提供一个更简单和更有效的内存解决方案。例如,把向量相加A = 1:5而且B = (1:10)'要生成10 × 5数组,请使用bsxfun (@plus A, B)而不是repmat(A, 1,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))

扩展功能

R2006a之前介绍过

这个话题有帮助吗?