repmat全称是Replicate Matrix ,意思是复制和平铺矩阵,是MATLAB里面的一个函数。语法有B = repmat(A,m,n),将矩阵 A 复制 m×n 块,即把 A 作为 B 的元素,B 由 m×n 个 A 平铺而成。B 的维数是 [size(A,1)*m, size(A,2)*n] 。

语法B = repmat(A,n)

B = repmat(A,r1,...,rN)

B = repmat(A,r)

说明B = repmat(A,n)返回一个数组,该数组在其行维度和列维度包含A的n个副本。A为矩阵时,B大小为size(A)*n。

B = repmat(A,r1,...,rN)指定一个标量列表r1,..,rN,这些标量用于描述A的副本在每个维度中如何排列。当A具有N维时,B的大小为size(A).*[r1...rN]。例如:repmat([1 2; 3 4],2,3)返回一个 4×6 的矩阵1。

B = repmat(A,r)使用行向量r指定重复方案。例如,repmat(A,[2 3])与repmat(A,2,3)返回相同的结果。

示例使用相同的元素值初始化矩阵创建一个所有元素的值均为 10 的 3×2 矩阵。

A = repmat(10,3,2)A = 3×2 10 10 10 10 10 10方块格式将矩阵副本重复到 2×2 块排列中。

A = diag([100 200 300])A = 3×3 100 0 0 0 200 0 0 0 300B = repmat(A,2)B = 6×6 100 0 0 100 0 0 0 200 0 0 200 0 0 0 300 0 0 300 100 0 0 100 0 0 0 200 0 0 200 0 0 0 300 0 0 300替代语法

|| ||

扩展功能1、tall 数组

对行数太多而无法放入内存的数组进行计算。

2、C/C++ 代码生成

使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。

3、GPU 数组

通过使用 Parallel Computing Toolbox™ 在图形处理单元 (GPU) 上运行来加快代码执行。

4、分布式数组

使用 Parallel Computing Toolbox™ 在群集的组合内存中对大型数组进行分区。

本词条内容贡献者为:

闫晓东 - 副教授 - 中央民族大学信息工程学院