主要内容

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。

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

将矩阵的副本重复到2 × 2的块排列中。

A = diag([100 200 300])
一个=3×3100 00 0 200 00 300
B = repmat(A,2)
B =6×6100 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])
一个=3×3100 00 0 200 00 300
B = repmat(A,2,3)
B =6×9100 00 100 00 100 00 0 200 00 200 00 0 300 00 300 00 300 100 00 0 100 00 0 200 00 200 00 300 00 300 00 300 300

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

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

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

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

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

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

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

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

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

B = repmat(A,2,3)
B =4×6表Age Height Age_1 hight__1 Age_2 hight__2 ___ ______ _____ ________ _____ ________ 39 70 39 70 39 70 26 63 26 63 26 63 39 70 39 70 39 70 70 26 63 26 63

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

输入参数

全部折叠

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

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑|字符|字符串|结构体|表格|datetime|持续时间|calendarDuration|分类|细胞
复数支持:金宝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

提示

  • 要通过将输入的张量积与一数组形成来构建块数组,请使用克隆亚麻.例如,堆叠行向量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))

扩展功能

HDL代码生成
使用HDL Coder™为FPGA和ASIC设计生成Verilog和VHDL代码。

版本历史

R2006a之前介绍

全部展开