2014-03-06 6 views
6

Ich versuche, jedes Element in einem Vektor so zu multiplizieren, dass es eine Matrix erzeugt, die um die Diagonale symmetrisch ist. Zum Beispiel gegeben diesen Vektor ::Multiplizieren Sie jedes Element in einem Vektor, um eine Matrix zu erstellen

x <- 1:3 

Ich mag würde dies schaffen:

1 2 3 
2 4 6 
3 6 9 

heißt:

x[1]*x[1] x[2]*x[1] x[3]*x[1] 
x[1]*x[2] x[2]*x[2] x[3]*x[2] 
x[1]*x[3] x[2]*x[3] x[3]*x[3] 

Jede Hilfe wäre sehr geschätzt. Vielen Dank.

Antwort

10

So:

x %o% x 

, die für eine Verknüpfung

ist
outer(x, x) 

können Sie tun auch

tcrossprod(x) 
Verwandte Themen