2013-05-10 441 views
0

我有一個矩陣m和一個向量v。我想乘以矩陣m爲vetcor v並得到一個矩陣與m相同的尺寸意味着將第一個元素m乘以v和....我怎樣才能做到這一點在R?矩陣與R中的向量相乘

m = matrix(c(1, 2, 3, 4, 5), ncol=1) 
    v = c(1, 2, 3, 4, 5) 
    > z 
     [,1] 
[1,] 1 
[2,] 4 
[3,] 9 
[4,] 16 
[5,] 25 
+0

這是普通的標量乘法會做。 '?「*」' – 2013-05-10 16:42:53

回答

0

Cross products可以使用%*%運營商獲得:

> m = matrix(c(1, 2, 3, 4, 5), ncol=1) 
>  v = c(1, 2, 3, 4, 5) 

> m %*% v 
    [,1] [,2] [,3] [,4] [,5] 
[1,] 1 2 3 4 5 
[2,] 2 4 6 8 10 
[3,] 3 6 9 12 15 
[4,] 4 8 12 16 20 
[5,] 5 10 15 20 25 
> m * v 
    [,1] 
[1,] 1 
[2,] 4 
[3,] 9 
[4,] 16 
[5,] 25 
+1

'*'不僅僅在第一列上起作用。在這個例子中,只有1列,但與'matrix(1,ncol = 2,nrow = 3)* 2:4'比較。 – Roland 2013-05-10 09:57:37

+0

下調直到R的行爲描述中的錯誤得到糾正。請在任何介紹性R教程中查看回收的概念。 – 2013-05-10 16:41:53

+0

迪寧,你可以編輯答案,如果有道理,我會批准它。同上羅蘭 – hd1 2013-05-10 16:57:20