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

———————————————————————————————-


Penyelesaian matriks tridiagonal selain menggunakan fungsi 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

Untuk memahami penerapannya, kita akan menggunakan kembali matriks yang ada pada Contoh dibawah ini :

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

\(Referensi\)