如何在 R 中求解聯立線性方程?


聯立方程組中的資料可以讀作矩陣,然後我們可以求解這些矩陣以找到變數的值。例如,如果我們有三個方程式 −

x + y + z = 6
3x + 2y + 4z = 9
2x + 2y – 6z = 3

那麼我們將把這些方程式轉換為矩陣,並使用 R 中的求解函式求解它們。

示例1

 線上演示

> A<-matrix(c(1,1,2,3,2,4,2,3,-6),nrow=3,byrow=TRUE)
> A

輸出

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

 線上演示

> b<-matrix(c(6,9,3))
> b

輸出

[,1]
[1,] 6
[2,] 9
[3,] 3
> solve(A,b)

輸出

[,1]
[1,] -3.0
[2,] 6.0
[3,] 1.5

因此,答案是 x = -3,y = 6,z = 1.5。

4x - 3y + x = -10
2x + y + 3z = 0
-1x + 2y - 5z = 17

示例2

 線上演示

> A<-matrix(c(4,-3,1,2,1,3,-1,2,-5),nrow=3,byrow=TRUE)
> A

輸出

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

線上演示

> b<-matrix(c(-10,0,17))
> b

輸出

[,1]
[1,] -10
[2,] 0
[3,] 17


> solve(A,b)

輸出

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

示例3

4x – 2y + 3z = 1
x + 3y – 4z = -7
3x + y + 2z = 5

線上演示

> A<-matrix(c(4,-2,3,1,3,-4,3,1,2),nrow=3,byrow=TRUE)
> A

輸出

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

 線上演示

> b<-matrix(c(1,-7,5))
> b

輸出

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


> solve(A,b)

輸出

[,1]
[1,] -1
[2,] 2
[3,] 3

示例4

x + 2y – 3z + 4t = 12
2x + 2y – 2z + 3t = 10
y + z = -1
x - y + z – 2t = -4

線上演示

> A<-matrix(c(1,2,-3,4,2,2,-2,3,0,1,1,0,1,-1,1,-2),nrow=4,byrow=TRUE)
> A

輸出

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

 線上演示

> b<-matrix(c(12,10,-1,-4))
> b

輸出

[,1]
[1,] 12
[2,] 10
[3,] -1
[4,] -4


> solve(A,b)

輸出

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

更新於: 04-Sep-2020

1K+ 瀏覽量

開啟你的職業生涯

完成課程後獲得認證

開始學習
廣告
© . All rights reserved.