Email          : brigita.melantika@student.matanauniversity.ac.id
RPubs         : https://rpubs.com/brigitatiaraem/
Jurusan      : Statistika
Address     : ARA Center, Matana University Tower
             Jl. CBD Barat Kav, RT.1, Curug Sangereng, Kelapa Dua, Tangerang, Banten 15810.
Dalam metode tertutup dengan metode bagi dua adalah metode pencarian akar yang berlaku untuk setiap fungsi kontinu yang diketahui dua nilai dengan tanda yang berlawanan dengan membagi selang sampai sekecil mungkin sehingga menuju akar yang sebenarnya.
Algoritma Metode Biseksi
Definisikan fungsi f(x)
Tentukan rentang untuk x yang berupa batas bawah a dan batas atas b.
Tentukan nilai toleransi e dan iterasi maksimum N
Hitung f(a) dan f(b)
Hitung:
\[x=(a+b)/2\]
Hitung f(x)
Bila f(x).f(a)<0, maka b= x dan f(b)=f(x). Bila tidak, a =x dan f(a)=f(x)
Bila |b−a|<e atau iterasi maksimum maka proses dihentikan dan didapatkan akar=x, dan bila tidak ulangi langkah 6.
Jika sudah diperoleh nilai dibawah nilai toleransi, nilai akar selanjutnya dihitung berdasarkan Persamaan diatas dengan nilai a dan b merupakan nilai baru yang diperoleh dari proses iterasi.
Contoh :
Carilah akar persamaan f(x)=xe^(−x)+1 pada rentang x=[−1,0]dengan nilai toleransi sebesar 10^(−7)?
menghitung nilai x:
f(x).f(a)<0 maka b=x dan f(b)=f(x)
root_bisection <- function(f, a, b, tol=1e-7, N=100){
iter <- 0
fa <- f(a)
fb <- f(b)
while(abs(b-a)>tol){
iter <- iter+1
if(iter>N){
warning("iterations maximum exceeded")
break
}
x <- (a+b)/2
fx <- f(x)
if(fa*fx>0){
a <- x
fa <- fx
} else{
b <- x
fb <- fx
}
}
# iterasi nilai x sebagai return value
root <- (a+b)/2
return(list(`function`=f, root=root, iter=iter))
}root_bisection(function(x){x*exp(-x)+1},
a=-1, b=0)## $`function`
## function(x){x*exp(-x)+1}
## <bytecode: 0x00000000135527b8>
##
## $root
## [1] -0.5671433
##
## $iter
## [1] 24
Metode ini dikembangkan untuk menyempurnakan metode bagidua, dengan memperhitungkan besaran f(xl) dan f(xu)
Algoritma :
Definisikan f(x)
Tentukan batas bawah (a) dan batas atas (b).
Tentukan toleransi error € dan iterasi maks (N)
Hitung fungsi Fa=f(a) dan Fb=F(b)
Untuk iterasi I = 1 hingga n
Hitung Fx=F(x)
Hitung error = |Fx|
Jika f(x).f(a)<0 maka b=x dan f(b)=f(x). Jika tidak, a=x, dan f(a)=f(x)
Contoh :
Carilah akar persamaan f(x)=xe^(−x)+1 pada rentang x=[−1,0]dengan nilai toleransi sebesar 10^(−7)?
diketahui f(x).f(a)<0 maka b=x dan f(b)=f(x).
root_rf <- function(f, a, b, tol=1e-7, N=100){
iter <- 1
fa <- f(a)
fb <- f(b)
x <- ((fb*a)-(fa*b))/(fb-fa)
fx <- f(x)
while(abs(fx)>tol){
iter <- iter+1
if(iter>N){
warning("iterations maximum exceeded")
break
}
if(fa*fx>0){
a <- x
fa <- fx
} else{
b <- x
fb <- fx
}
x <- (fb*a-fa*b)/(fb-fa)
fx <- f(x)
}
# iterasi nilai x sebagai return value
root <- x
return(list(`function`=f, root=root, iter=iter))
}root_rf(function(x){x*exp(-x)+1},
a=-1, b=0)## $`function`
## function(x){x*exp(-x)+1}
## <bytecode: 0x0000000014c72dd0>
##
## $root
## [1] -0.5671433
##
## $iter
## [1] 15
Metode Newton-Raphson merupakan metode penyelesaian persamaan non-linier dengan menggunakan pendekatan satu titik awal dan mendekatinya dengan memperhatikan slope atau gradien.
Algoritma Metode Newton-Raphson
Definisikan f(x) dan f′(x)
Tentukan nilai toleransi e dan iterasi masimum (N)
Tentukan tebakan awal x0
Hitung f(x0) dan f′(x0)
Untuk iterasi i=1 s/d N atau |f(x)|≥e|, hitung x menggunakan Persamaan
Contoh :
Selesaikan persamaan non-linier x−e^(−x)=0 menggunakan metode Newton-Raphson?
Misalkan x=0
root_newton <- function(f, fp, x0, tol=1e-7, N=100){
iter <- 0
xold<-x0
xnew <- xold + 10*tol
while(abs(xnew-xold)>tol){
iter <- iter+1
if(iter>N){
stop("No solutions found")
}
xold<-xnew
xnew <- xold - f(xold)/fp(xold)
}
root<-xnew
return(list(`function`=f, root=root, iter=iter))
}root_newton(function(x){x-exp(-x)},
function(x){1+exp(-x)},
x0=0)## $`function`
## function(x){x-exp(-x)}
## <bytecode: 0x0000000014addcf8>
##
## $root
## [1] 0.5671433
##
## $iter
## [1] 5
Metode Secant merupakan perbaikan dari metode regula-falsi dan Newton Raphson, dimana kemiringan dua titik dinyatakan secara diskrit dengan mengambil bentuk garis lurus yang melalui satu titik. Persamaan secara umum :
Algoritma Metode Secant
Definisikan f(x)dan f′(x)
Tentukan nilai toleransi edan iterasi masimum (N)
Tentukan tebakan awal x0dan x1
Hitung f(x0) dan f(x1)
Untuk iterasi i=1s/d N atau |f(x)|≥e|, hitung x menggunakan Persamaan diatas
Akar persamaan adalah nilai x yang terakhir.
Contoh :
Selesaikan persamaan non-linier x−e^(−x)=0 menggunakan metode Secant?
misalkan x=0 dan
root_secant <- function(f, x, tol=1e-7, N=100){
iter <- 0
xold <- x
fxold <- f(x)
x <- xold+10*tol
while(abs(x-xold)>tol){
iter <- iter+1
if(iter>N)
stop("No solutions found")
fx <- f(x)
xnew <- x - fx*((x-xold)/(fx-fxold))
xold <- x
fxold <- fx
x <- xnew
}
root<-xnew
return(list(`function`=f, root=root, iter=iter))
}root_secant(function(x){x-exp(-x)}, x=0)## $`function`
## function(x){x-exp(-x)}
## <bytecode: 0x00000000152476e8>
##
## $root
## [1] 0.5671433
##
## $iter
## [1] 6
Bentuk interpolasi yang paling mudah adalah menghubungkan dua buah titik data dengan sebuah garis lurus. Teknik ini dan sebagainya interpolasi linier dan dilukiskan secara grafis pada gambar 2 dengan menggunakan segitiga sebangun.
Kemudian dapat diatur kembali supaya memenuhi sebuah formula interpolasi linier.
Notasi f1(x) menandakan bahwa rumus tersebut adalah sebuah polinomial interpolasi orde pertama. Perhatikan bahwa disamping menyatakan skope dari gambar yang menghubungkan titik
contoh :
Taksir (ln 2) dengan menggunakan interpolasi linear dengan interpolasi antara interpolasi antara ln 1 = 0 dan ln 6 = 1,7917595 sebagai berikut
Dengan et = 48,3%
Interpolasi kuadratik dilakukan bila plot datanya mendekati fungsi kuadrat. Berbeda dengan interpolasi linear yang hanya melibatkan 2 titik sampel x1 dan x2, interpolasi kuadratik melibatkan 3 titik.
dengan titik data \[(x_1,y_1),(x_2,y_2),(x_3,y_3)\] dan menghitung nilai a,b, dan c dengan metode eliminasi gauss
Contoh :
Diketahu99.4i ln(8)=2.0794, ln(9)=2.1972, dan ln(9.5)=2.2513. Tentukan nilai ln(9.4) dengan interoplasi kuadrat.
Interpolasi newton atau dikenal dengan interpolasi polinomial newton muncul untuk membuat prediksi nilai fungsi jika diberikan banyak data. Dari sebanyak n data dapat dibuat polinomial berderajat n-1.
Contoh :
Bentuklah polinom Newton derajat satu, dua, tiga, dan empat yang menghampiri f(x)=cos(X) dengna range[0.0;4] dan jarak antara titik adalah 1.0. Lalu taksirlah f(X) dengan x=2.5 dengan polinom newton derajat 3
Maka polinom Newton derajat 1,2 dan 3 dengan x_0= 1 sebagai titik pertama :
Interpolasi Polinom Lagrange adalah formulasi kembali dari polinom newton yang mencegah komputasi diferensi terbagi
rumus interpolasi lagrange linear :
Contoh :
rumus interpolasi lagrange kuadrat :
Contoh :
rumus interpolasi lagrange kubik :
Contoh :
Polinom Newton-Gregory merupakan kasus khusus dari polinomial Newton untuk titik-titik yang berjarak sama.
Contoh :
Bentuklah tabel selisih untuk fungsi f(x)=1/(x+1) didalam selarng[0.000;0.625] dan h=0.125. Hitung f(0.300) dengan polinom newton gregory maju derajat 3.