我有關於MATLAB包河一個問題這是我得到R matlab包:爲什麼repmat不一致?
library(matlab)
a = matrix(1:4,2,2)
repmat(a,3,1)
[,1] [,2]
[1,] 1 2
[2,] 3 4
[3,] 1 2
[4,] 3 4
[5,] 1 2
[6,] 3 4
這是我所期望的。沿第一維複製三次。但是
b = matrix(1:6,2,3)
b
[,1] [,2] [,3]
[1,] 1 3 5
[2,] 2 4 6
repmat(b,3,1)
[,1] [,2]
[1,] 1 2
[2,] 3 4
[3,] 5 6
[4,] 1 2
[5,] 3 4
[6,] 5 6
[7,] 1 2
[8,] 3 4
[9,] 5 6
這是不一致的。我想
rbind(b,rbind(b,b))
[,1] [,2] [,3]
[1,] 1 3 5
[2,] 2 4 6
[3,] 1 3 5
[4,] 2 4 6
[5,] 1 3 5
[6,] 2 4 6
之前,但不'A =矩陣(1:4,2,2)'給你的'[1〜3當量; 2 4]',所以功能是一致的。它只是首先轉置:/所以要解決它,在調用內轉置'a'和'b'到'repmat' – Dan 2013-05-03 13:46:07
不一致的是,情況1矩陣沿着維度1,3複製。在情況2中這顯然沒有發生。我甚至不知道如何解釋情況2. – 2013-05-03 13:48:52
@FlorianOswald在這兩種情況下,它看起來像轉置矩陣,然後堆疊它幾次... – Dason 2013-05-03 13:50:14