Artikel ini akan membahas tentang solusi penyelesaian soal-soal latihan yang ada dalam buku Metode Numerik Menggunakan R untuk Teknik Lingkungan karya Mohammad Rosidi. Artikel ini saya tulis untuk memenuhi tugas UTS mata kuliah Kalkulus. Berikut adalah penjelasannya.
-4x + 4y = -1
-2x + 2y - 3z = -3
3x + 1y − 3z = −3
Dengan Eliminasi Gauss-Jordan Dengan menggunakan fungsi gauss_jordan(), kita dapat membentuk matriks row echelon form.
Sintaks
gauss_jordan <- function (a){
m <- nrow (a)
n <- ncol (a)
piv <- 1
# cek elemen diagonal utama apakah bernilai nol
for(row_curr in 1:m){
if(piv <= n){
i <- row_curr
while(a[i, piv] == 0 && i < m){
i <- i + 1
if(i > m){
i <- row_curr
piv <- piv + 1
if(piv > n)
return (a)
}
}
# jika diagonal utama bernilai nol,lakukan row swapping
if(i != row_curr)
a <- swap_row(a, i, row_curr)
# proses pembentukan matriks reduced row echelon form
piv_val <- a[row_curr , piv]
a <- scale_row (a, row_curr , 1 / piv_val)
for(j in 1: m){
if(j != row_curr){
k <- a[j, piv]/a[row_curr, piv]
a <- replace_row (a, row_curr, j, -k)
}
}
piv <- piv + 1
}
}
return (a)
}
am <- c(-4,-2,3,
4,2,1,
0,-3,-3,
-1,-3,-3)
(m <- matrix(am, nrow=3))
## [,1] [,2] [,3] [,4]
## [1,] -4 4 0 -1
## [2,] -2 2 -3 -3
## [3,] 3 1 -3 -3
Dengan Row Echelon Form Dengan menggunakan fungsi ref_matrix(), kita dapat membentuk matriks row echelon form.
Sintaks
ref_matrix <- function(a){
m <- nrow(a)
n <- ncol(a)
piv <- 1
# cek elemen diagonal apakah bernilai nol
for(row_curr in 1:m){
if(piv <= n){
i <- row_curr
while(a[i, piv] == 0 && i < m){
i <- i+1
if(i > m){
i <- row_curr
piv <- piv+1
if(piv > n)
return(a)
}
}
# jika diagonal bernilai nol, lakukan row swapping
if(i != row_curr)
a <- swap_row(a, i, row_curr)
# proses triangulasi untuk membentuk matriks segitiga atas
for(j in row_curr:m)
if(j != row_curr){
c <- a[j, piv]/a[row_curr, piv]
a <- replace_row(a, row_curr, j, -c)
}
piv <- piv+1
}
}
return(a)
}
am <- c(-4,-2,3,
4,2,1,
0,-3,-3,
-1,-3,-3)
(m <- matrix(am, nrow=3))
## [,1] [,2] [,3] [,4]
## [1,] -4 4 0 -1
## [2,] -2 2 -3 -3
## [3,] 3 1 -3 -3