这是我的代码:
a <-c(1,2,3)
b <-t(a)
print(a*b)
Run Code Online (Sandbox Code Playgroud)
我希望结果为14,因为列向量乘以具有拟合维度的行向量应该是标量.
但是,我得到:
打印(a*t(a))
[,1] [,2] [,3]
[1,] 1 4 9
Run Code Online (Sandbox Code Playgroud)
因此,部分总和而不是全部总和.我怎样才能解决这个问题?
Mat*_*erg 20
两个问题,错误顺序的乘法和错误的乘法函数.
> print(t(a)%*%a)
[,1]
[1,] 14
Run Code Online (Sandbox Code Playgroud)
等价的:
> a=matrix(c(1,2,3),ncol=3)
> print (a %*% t(a))
[,1]
[1,] 14
Run Code Online (Sandbox Code Playgroud)
这a是一行1列,3列.
见?"%*%"和?"*"