Как решить систему уравнений в R (3 примера)


Чтобы решить систему уравнений в R, мы можем использовать встроенную функциюsolve() .

В следующих примерах показано, как использовать эти функции для решения нескольких различных систем уравнений в R.

Пример 1. Решение системы уравнений с двумя переменными

Предположим, у нас есть следующая система уравнений, и мы хотели бы найти значения x и y:

5х + 4у = 35

2х + 6у = 36

В следующем коде показано, как использовать функциюsolve() в R для поиска значений x и y:

#define left-hand side of equations
left_matrix <- matrix(c(5, 2, 4, 6), nrow= 2 )

left_matrix

 [,1] [,2]
[1,] 5 4
[2,] 2 6

#define right-hand side of equations
right_matrix <- matrix(c(35, 36), nrow= 2 )

right_matrix

 [,1]
[1,] 35
[2,] 36

#solve for x and y
solve(left_matrix, right_matrix) 

 [,1]
[1,] 3
[2,] 5

Это говорит нам о том, что значение x равно 3 , а значение y равно 5 .

Пример 2. Решение системы уравнений с тремя переменными

Предположим, у нас есть следующая система уравнений, и мы хотели бы найти значения x, y и z:

4х + 2у + 1з = 34

3x + 5y – 2z = 41

2х + 2у + 4з = 30

В следующем коде показано, как использовать функциюsolve() в R для решения значений x, y и z:

#define left-hand side of equations
left_matrix <- matrix(c(4, 3, 2, 2, 5, 2, 1, -2, 4), nrow= 3 )

left_matrix

 [,1] [,2] [,3]
[1,] 4 2 1
[2,] 3 5 -2
[3,] 2 2 4

#define right-hand side of equations
right_matrix <- matrix(c(34, 41, 30), nrow= 3 )

right_matrix

 [,1]
[1,] 34
[2,] 41
[3,] 30

#solve for x, y, and z
solve(left_matrix, right_matrix) 

 [,1]
[1,] 5
[2,] 6
[3,] 2

Это говорит нам о том, что значение x равно 5 , значение y равно 6 , а значение z равно 2 .

Пример 3. Решение системы уравнений с четырьмя переменными

Предположим, у нас есть следующая система уравнений, и мы хотели бы найти значения w, x, y и z:

6ш + 2х + 2у + 1з = 37

2ш + 1х + 1у + 0з = 14

3ш + 2х + 2у + 4з = 28

2ш + 0х + 5у + 5з = 28

В следующем коде показано, как использовать функциюsolve() в R для поиска значений w, x, y и z:

#define left-hand side of equations
left_matrix <- matrix(c(6, 2, 3, 2, 2, 1, 2, 0, 2, 1, 2, 5, 1, 0, 4, 5), nrow= 4 )

left_matrix

 [,1] [,2] [,3] [,4]
[1,] 6 2 2 1
[2,] 2 1 1 0
[3,] 3 2 2 4
[4,] 2 0 5 5

#define right-hand side of equations
right_matrix <- matrix(c(37, 14, 28, 28), nrow= 4 )

right_matrix

 [,1]
[1,] 37
[2,] 14
[3,] 28
[4,] 28

#solve for w, x, y and z
solve(left_matrix, right_matrix)

 [,1]
[1,] 4
[2,] 3
[3,] 3
[4,] 1

Это говорит нам о том, что значение w равно 4 , x равно 3 , y равно 3 и z равно 1 .

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные операции в R:

Как рассчитать сводку из пяти чисел в R
Как создать сводные таблицы в R
Как рассчитать Z-значения в R