複製鏈接
請複製以下鏈接發送給好友

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] 
B = repmat(A,r)使用行向量r指定重複方案。例如,repmat(A,[2 3])與repmat(A,2,3)返回相同的結果。

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™ 在羣集的組合內存中對大型數組進行分區。
參考資料
  • 1.    Whirdy M. Fast Matrixwise Black-Scholes Implied Volatility[J]. Black Scholes.