2013-05-10 6 views
0

J'ai une matrice m et un vecteur v. Je voudrais multiplier la matrice m en vetcor v et obtenir une matrice avec la même dimension que m signifie que multiplier le premier élément de m à v et .... Comment puis-je faire cela dans R?Multiplication de la matrice dans un vecteur dans 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

C'est ce que la multiplication scalaire ordinaire ferait. '?" * "' –

Répondre

0

Cross products peuvent être obtenus en utilisant l'opérateur %*%:

> 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

'*' n'agit pas seulement sur la première colonne. Dans l'exemple, il n'y a qu'une seule colonne, mais comparez avec 'matrix (1, ncol = 2, nrow = 3) * 2: 4'. – Roland

+0

Downvoting jusqu'à ce que l'erreur dans la description du comportement de R soit corrigée. S'il vous plaît examiner le concept de recyclage dans tout tutoriel R d'introduction. –

+0

DWin, vous pouvez éditer la réponse, si cela a du sens, je vais l'approuver. Idem à Roland – hd1

Questions connexes