?
找不到帮助。 (抱歉愚蠢)
> 1%*%1
[,1]
[1,] 1
> 10%*%10
[,1]
[1,] 100
> c(1:2)%*%c(1:2)
[,1]
[1,] 5
答案 0 :(得分:11)
这是一个矩阵乘法运算符!
说明强>
将两个矩阵相乘,如果它们是一致的。如果一个参数是一个向量,它将被提升为行或列矩阵,以使两个参数一致。如果两者都是相同长度的向量,它将返回内积(作为矩阵)。
<强>用法:强>
x %*% y
<强>参数:强>
x
,y
数字或复杂矩阵或向量
答案 1 :(得分:5)
> c(1,2,3) %*% c(4,5,6)
[,1]
[1,] 32
> c(1,2,3) * c(4,5,6)
[1] 4 10 18
像MadSeb说的那样,它是矩阵乘法运算符。如果给它两个向量,它会将它们强制转换为(逻辑)1行和1。 1-col矩阵并将它们相乘。
它也是两个向量之间的内部(或点)产品,在线性代数,计算几何和许多其他应用中得到广泛应用。
http://en.wikipedia.org/wiki/Dot_product
BTW,矢量必须在相同的空间(相同的维数)> c(1,2,3) %*% c(4,5,6,7)
Error in c(1, 2, 3) %*% c(4, 5, 6, 7) : non-conformable arguments
答案 2 :(得分:0)
我创建了一个问题“ R中%*%
运算符的后面是什么计算?”被标记为该问题的重复项。 %*%
运算符用于将两个矩阵相乘。我没有意识到“矩阵乘法”是一种既定的代数方法,因此学习基础计算很有用,此处尚未在其他答案中明确描述。传递重复问题中评论的有用链接
https://en.m.wikipedia.org/wiki/Matrix_multiplication#Definition
答案 3 :(得分:-1)
此运算符用于将矩阵与其转置相乘。
M = matrix( c(2,6,5,1,10,4), nrow = 2,ncol = 3,byrow = TRUE)
t = M %*% t(M)
print(t)