-
repmat
鎖定
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
- 類 型
- 函數
- 釋 義
- 複製和平鋪矩陣
- 隸 屬
- MATLAB
repmat語法
B = repmat(A,n)
B = repmat(A,r1,...,rN)
B = repmat(A,r)
repmat説明
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]
。
repmat示例
使用相同的元素值初始化矩陣
創建一個所有元素的值均為 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 語法 | 等效替代方法 |
---|---|
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)) |
repmat擴展功能
1、tall 數組
對行數太多而無法放入內存的數組進行計算。
2、C/C++ 代碼生成
使用 MATLAB® Coder™ 生成 C 代碼和 C++ 代碼。
3、GPU 數組
通過使用 Parallel Computing Toolbox™ 在圖形處理單元 (GPU) 上運行來加快代碼執行。
4、分佈式數組
使用 Parallel Computing Toolbox™ 在羣集的組合內存中對大型數組進行分區。