假设我们有以下内容:
x <- matrix(1:9, nrow=3)
y <- c(1,2,3)
x%*%y
y%*%x为什么矩阵乘法没有定义?我们知道x是一个3x3矩阵,而y是一个1x3矩阵。因此,不应该定义x %*% y,而y %*% x应该是1 x 3矩阵。
发布于 2013-01-04 22:30:32
幸运的是(或者不幸的是,取决于情况)许多R运算符(在默认状态下)超载,并在“幕后”做各种事情-在这个例子中,R中%*%的默认功能自动将y强制到维度可以工作的矩阵。当你输入的时候
x %*% y 它使y成为一个3x1矩阵,当你键入
y %*% x 它使y成为一个1 x 3的矩阵。
尝试在键入时将它们与进行比较
x %*% as.matrix(y) 和
t(as.matrix(y)) %*% x分别
https://stackoverflow.com/questions/14158985
复制相似问题