repelem
重复数组元素副本
说明
示例
重复向量元素
创建一个向量,并将其每个元素重复三次复制到一个新向量中。
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];
使用 repelem
和 repmat
生成两个向量的所有元素组合。输出 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
输入参数
v
— 输入元素
标量 | 向量
输入值,指定为标量或向量。
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| char
| string
| struct
| table
| cell
| datetime
| duration
复数支持: 是
n
— 每个元素的重复次数
标量 | 向量
每个元素的重复次数,指定为标量或向量。如果 n
是一个标量,则 v
的所有元素都重复 n
次。如果 n
为向量,则 n
的各个元素用于指定重复 v
中对应元素的次数。在任一情况下,n
都必须是整数值。
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
A
— 输入数组
矩阵 | 多维数组
输入数组,指定为矩阵或多维数组。
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| char
| struct
| table
| cell
| datetime
| duration
复数支持: 是
r1,...,rN
— 每个维度的重复因子(指定为单独的参数)
标量 | 向量
每个维度的重复因子,指定为整数值标量或向量的单独参数。如果 A
是一个表格,则每个重复因子都必须是标量。
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
输出参数
u
— 输出向量
向量
输出向量。如果 v
是一个行向量或标量,则 u
是一个行向量。如果 v
是一个列向量,则 u
也是一个列向量。
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| char
| string
| struct
| table
| cell
| datetime
| duration
B
— 输出数组
矩阵 | 多维数组
输出数组,以矩阵或多维数组的形式返回。
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| char
| string
| struct
| table
| cell
| datetime
| duration
扩展功能
tall 数组
对行数太多而无法放入内存的数组进行计算。
C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。
用法说明和限制:
输入必须为向量或矩阵。输入不能为多维数组。
GPU 代码生成
使用 GPU Coder™ 为 NVIDIA® GPU 生成 CUDA® 代码。
用法说明和限制:
输入必须为向量或矩阵。输入不能为多维数组。
基于线程的环境
使用 MATLAB® backgroundPool
在后台运行代码或使用 Parallel Computing Toolbox™ ThreadPool
加快代码运行速度。
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
GPU 数组
通过使用 Parallel Computing Toolbox™ 在图形处理单元 (GPU) 上运行来加快代码执行。
此函数完全支持 GPU 数组。有关详细信息,请参阅Run MATLAB Functions on a GPU (Parallel Computing Toolbox)。
分布式数组
使用 Parallel Computing Toolbox™ 在集群的组合内存中对大型数组进行分区。
此函数完全支持分布式数组。有关详细信息,请参阅Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox)。
版本历史记录
在 R2015a 中推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)