Dosen Pengampu : Prof. Dr. Suhartono, M.Kom
Lembaga : Universitas Islam Negeri Maulana Malik Ibrahim Malang
Jurusan : Teknik Informatika
Fakultas : Sains dan Teknologi
R
menyediakan fungsi bawaan solve() untuk menyelesaiakan sistem persamaan linier. Format fungsi solve()
adalah seperti dibawah ini :solve(a,b)
Catatan:
a: matriks koefisien atau matriks segiempat
b: vektor konstanta
Berikut adalah contoh penerapan fungsi solve()
pada sistem persamaan linier yang disajikan pada Contoh 6.2:
# memecah matriks m menjadi matriks koefisien dan vektor konstanta
a <- matrix(c(2,3,1,1,2,-5,-1,-2,4),nrow=3)
b <- c(1,1,3)
solve(a,b)
## [1] 1 2 3
Jika kita hanya memasukkan matriks persegi, maka output yang akan dihasilkan adalah invers dari matriks yang kita masukkan.
solve(a)
## [,1] [,2] [,3]
## [1,] 2 -1 7.401487e-17
## [2,] 14 -9 -1.000000e+00
## [3,] 17 -11 -1.000000e+00
Jika kita mengalikan invers dengan matriks semula, maka akan dihasilkan output berupa matriks identitas.
a%*%solve(a)
## [,1] [,2] [,3]
## [1,] 1 0 0
## [2,] 0 1 0
## [3,] 0 0 1
solve()
, juga dapat menggunakan fungsi Solve.tridiag()
dari Paket limSolve. Untuk menginstall dan mengaktifkan Paket tersebut, jalankan sintaks berikut :install.packages("limSolve")
library(limSolve)
Fungsi Solve.tridiag()
memiliki format sebagai berikut :
Solve.tridiag ( diam1, dia, diap1, B=rep(0,times=length(dia)))
Catatan:
diam1: vektor bukan nol di bawah diagonal matriks
dia: vektor bukan nol pada diagonal matriks
diap1: vektor bukan nol di atas diagonal matriks
B: vektor konstanta
l <- u <- c(4, 2, 3); d <- c(3, 5, 5, 5)
b <- c(20, 28, 18, 18)
Solve.tridiag(diam1=l, dia=d, diap1=u, B=b)
## [,1]
## [1,] 4
## [2,] 2
## [3,] 1
## [4,] 3