NIM : 220605110107
Universitas : Universitas Islam Negeri Maulana Malik Ibrahim Malang
Jurusan : Teknik Informatika
Sekarang kita selesaikan sistem persamaan linier untuk contoh kerja dengan menggunakan fungsi rref untuk menghitung invers dari matriks koefisien.
A <- matrix(c(1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 0 ,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 0 ,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 ,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 ,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 ,
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 ,
0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 ,
0 , 0 , 0 , 0 , 0 , 1), nrow = 11, ncol = 18, byrow = TRUE)
dan kami menulis sisi kanan di R:
b <- c(1298, 1948, 465, 605, 451, 338, 260, 183, 282, 127, 535)
Pertama kita membuat matriks augmented
C <- cbind(A, b)
Untuk menghilangkan satu baris dari sistem ini, seperti yang kita lakukan pada bagian sebelumnya, kita menerapkan fungsi rref() dari paket pracma. Lalu kita punya :
library(pracma)
E <- rref(C)
E adalah bentuk eselon tereduksi dari matriks yang diperbesar
E <- E[-11,]
Karena baris terakhir dari matriks ini semuanya nol, kami menghapus vektor baris terakhir.
G1 <- eye(8)
G2 <- matrix(rep(0, 80), 8, 10)
b2 <- c(266, 223, 140, 264, 137, 67, 130, 24)
G <- cbind(G1, G2, b2)
M <- rbind(E, G)
Perhatikan bahwa fungsi eye() menampilkan matriks identitas. Perintah “M[, -19]” membuat matriks koefisien untuk sistem persamaan linier.
M2 <- M[,-19]
Sekarang kita ingin mendapatkan invers dari matriks ini menggunakan fungsi rref(). Karena matriks ini adalah matriks berukuran 18 × 18, kami menambahkan matriks identitas berukuran 18.
M3 <- cbind(M2, diag(18))
M4 <- rref(M3)
maka kita memiliki :
M4
##
## [1,] 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
## [2,] 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
## [3,] 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
## [4,] 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## [5,] 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## [6,] 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## [7,] 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## [8,] 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## [9,] 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 -1 -1 -1
## [10,] 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 -1 0 0
## [11,] 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 -1 0
## [12,] 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 -1
## [13,] 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
## [14,] 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
## [15,] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
## [16,] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
## [17,] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0
## [18,] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 1 1 1
##
## [1,] 0 0 0 0 0
## [2,] 0 0 0 0 0
## [3,] 0 0 0 0 0
## [4,] 1 0 0 0 0
## [5,] 0 1 0 0 0
## [6,] 0 0 1 0 0
## [7,] 0 0 0 1 0
## [8,] 0 0 0 0 1
## [9,] -1 -1 -1 -1 -1
## [10,] 0 0 0 0 0
## [11,] 0 0 0 0 0
## [12,] 0 0 0 0 0
## [13,] -1 0 0 0 0
## [14,] 0 -1 0 0 0
## [15,] 0 0 -1 0 0
## [16,] 0 0 0 -1 0
## [17,] 0 0 0 0 -1
## [18,] 1 1 1 1 1
Perhatikan bahwa vektor kolom ke-19 ke vektor kolom ke-36 membentuk invers dari matriks M2. Jadi kita punya :
Minv <- M4[, 19:36]
Maka solusi dari sistem persamaan linier untuk contoh ini adalah :
Minv %*% M[,19]
## [,1]
## [1,] 266
## [2,] 223
## [3,] 140
## [4,] 264
## [5,] 137
## [6,] 67
## [7,] 130
## [8,] 24
## [9,] 47
## [10,] 199
## [11,] 382
## [12,] 311
## [13,] 74
## [14,] 123
## [15,] 116
## [16,] 152
## [17,] 103
## [18,] 488