Matlab如何實現矩陣復制擴充

考慮這個問題:

定義一個簡單的行向量a

如何復制10行呢?即:

同理,對於一個列向量,如何復制 10 列呢?

關鍵函數1:

repmat( A , m , n ):將向量/矩陣在垂直方向復制m次,在水平方向復制n次。

再舉一個例子,對於 a =[1 2;3 4]:

垂直方向復制3次,水平方向復制2次,結果是:

接下來進階一下,玩點復雜的。對於 a = [1 2;3 4],如何變成下面這樣:

關鍵函數:

kron( a , B ) :對 a 的每一個元素 e,都數乘B矩陣,構成新的矩陣。具體用法可以doc kron。

引用 Matlab 的幫助文檔,對於 A 和 B,kron(A,B) 的圖示如下:

回到上面的問題,對於 a=[1 2;3 4],

matlab中x0=[x0,x0] 矩陣擴展

就是說對矩陣x0進行擴展,左右各一個x0組成的新的矩陣賦值給x0。

比如:

x0=[1,2;3,4]
x0 =

     1     2
     3     4

x0=[x0,x0]
x0 =

     1     2     1     2
     3     4     3     4

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: