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] 。
基本介紹
- 中文名:複製和平鋪矩陣
- 外文名:repmat
- 又名:Replicate Matrix
- 類型:函式
語法,說明,示例,使用相同的元素值初始化矩陣,方塊格式,替代語法,擴展功能,
語法
B = repmat(A,n)
B = repmat(A,r1,...,rN)
B = repmat(A,r)
說明
B = repmat(A,r1,...,rN)指定一個標量列表r1,..,rN,這些標量用於描述A的副本在每個維度中如何排列。當A具有N維時,B的大小為size(A).*[r1...rN]。例如:repmat([1 2; 3 4],2,3)返回一個 4×6 的矩陣。
示例
使用相同的元素值初始化矩陣
創建一個所有元素的值均為 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 300
B = 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
替代語法
repmat 語法 | 等效替代方法 |
---|---|
repmat(NaN,m,n) | NaN(m,n) |
repmat(single(inf),m,n) | inf(m,n,'single') |
repmat(int8(0),m,n) | zeros(m,n,'int8') |
repmat(uint32(1),m,n) | ones(m,n,'uint32') |
repmat(eps,m,n) | eps(ones(m,n)) |
擴展功能
1、tall 數組
對行數太多而無法放入記憶體的數組進行計算。
2、C/C++ 代碼生成
使用 MATLAB® Coder™ 生成 C 代碼和 C++ 代碼。
3、GPU 數組
通過使用 Parallel Computing Toolbox™ 在圖形處理單元 (GPU) 上運行來加快代碼執行。
4、分散式數組
使用 Parallel Computing Toolbox™ 在群集的組合記憶體中對大型數組進行分區。