2017-05-21 35 views
0

我有在Matlab兩個向量A和B和餘執行這樣的操作:Matlab的「*操作至R

A = [1, 3, 2]; 
B = [2, 1, 3]; 
C = A'*B; 

結果C等於:

2  1  3 
6  3  9 
4  2  6 

但我不知道如何將其轉換爲R.我嘗試過這種構造,但結果是不同的:

C <- Conj(t(A)) %*% B 
+0

你能否提供一個A和B以及你想要的輸出的例子嗎? – Lamia

回答

1

默認情況下,在R中,從長度爲n的矢量,你會得到一個有n行和一列的矩陣。

A = matrix(c(1, 3, 2)); 
[,1] 
[1,] 1 
[2,] 3 
[3,] 2 

B = matrix(c(2, 1, 3)); 
[,1] 
[1,] 2 
[2,] 1 
[3,] 3 

C = A %*% t(B) 

將返回:

[,1] [,2] [,3] 
[1,] 2 1 3 
[2,] 6 3 9 
[3,] 4 2 6 

如果您想A和B有3列和1列,這樣做:

A = matrix(c(1, 3, 2),ncol=3); 
B = matrix(c(2, 1, 3),ncol=3); 
C = t(A) %*% B 

它返回相同的結果。