将向量中的每个元素本身相乘以创建矩阵 [英] Multiply each element in a vector by itself to create a matrix

查看:228
本文介绍了将向量中的每个元素本身相乘以创建矩阵的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图将向量中的每个元素自身相乘,以使其产生一个围绕对角线对称的矩阵.例如,给定此向量:

I'm trying to multiply each element in a vector by itself such that it produces a matrix that is symmetric about the diagonal. For example, given this vector::

x <- 1:3

我想创建这个:

1 2 3  
2 4 6 
3 6 9  

即:

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] 

任何帮助将不胜感激.谢谢.

Any help would be greatly appreciated. Thanks.

推荐答案

像这样:

x %o% x

这是

outer(x, x)

您也可以

 tcrossprod(x)

这篇关于将向量中的每个元素本身相乘以创建矩阵的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆