【发布时间】:2012-12-08 16:29:21
【问题描述】:
这是我的代码:
a <-c(1,2,3)
b <-t(a)
print(a*b)
我希望结果为 14,因为列向量乘以具有合适尺寸的行向量应该是 skalar。
但是,我得到:
打印 (a*t(a))
[,1] [,2] [,3]
[1,] 1 4 9
因此是部分总和而不是全部总和。我该如何解决这个问题?
【问题讨论】:
-
列向量乘以具有合适尺寸的行向量得到一个 (n x n) 矩阵:
matrix(a) %*% t(a) -
如果您不想要
crossprod返回的内容,那么您需要详细说明您的期望。请注意,crossprod可用于构造其他域,称为标量积或“点积”。crossprod(1:3)返回您显然想要的总和。