主要内容

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

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

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

将行向量垂直叠加4次。

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

水平叠加列向量四次。

= (1:3) ';B = repmat (1, 4)
B =3×41 1 1 1 2 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身高1身高2身高___ ______ _____ ________ _____ ________ 39 70 39 70 39 70 26 63 26 63 63 39 70 39 70 39 70 39 70 39 70 26 63 26 26 63 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中改变

扩展功能

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

之前介绍过的R2006a