在以下情况下,我不知道如何进行操作,因为最后一个等式没有全部4个变量。因此使用了等式下方的代码,但这是错误的...有人知道前进的方式吗?
表情:
3a + 4b - 5c + d = 10
2a + 2b + 2c - d = 5
a -b + 5c - 5d = 7
5a + d = 4
代码:
X <- matrix(c(3,4,-5,1,2,2,2,-1,1,-1,5,-5,5,0,0,1), 4, 4)
y <- matrix(c(10,5,7,4), 4, 1)
solve(X)%*%y #equivalent to solve(X, y)
答案 0 :(得分:2)
将byrow
的参数matrix()
设置为TRUE
可以达到目的:
X <- matrix(c(3, 4,-5, 1,
2, 2, 2,-1,
1,-1, 5,-5,
5, 0, 0, 1), 4, 4, byrow=TRUE)
y <- c(10, 5, 7, 4)
sol <- solve(X, y)
检查是否正确:
c(X %*% sol)
[1] 10 5 7 4
顺便说一下,solve(X, y)
在计算上比solve(X) %*% y
更有效。