Решить линейную систему уравнений в R - PullRequest
0 голосов
/ 01 ноября 2018

Я не знаю, как поступить в следующем случае, потому что в последнем уравнении нет всех 4 переменных. Так что использовали приведенный ниже код уравнения, но это неправильно ... Кто-нибудь знает способ продолжить?

Euqations:

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)

1 Ответ

0 голосов
/ 01 ноября 2018

Установка аргумента 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...