我正在尝试将矩阵的转置乘以原始矩阵。
B<-matrix(rep(c(10, -10,10), 15), ncol=3, byrow=TRUE)
然后我使用t(B)
函数转置矩阵,给我一个 15 x 3 和 3 x 15 的矩阵,我应该能够将其乘以B*t(B)
或t(B)*B
。但是,我收到"t(B( * B 中的错误:不兼容数组"的错误
这是我为此缺少的东西吗?我应该能够多个 B*t(B( 或 t(B(*B,因为你会有一个 3x3 矩阵或 15 x 15 矩阵作为答案。
对于矩阵乘法,你应该使用%*%
(*
用于逐元素乘法(。
如果你想要一个简单的表达式,你可以尝试crossprod
或tcrossprod
,例如,
crossprod(B) # equivalent to t(B) %*% B
或
tcrossprod(B) # equivalent to B %*% t(B)