Email             :
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.


1 SOAL

Tentukan nilai Y(0,1) dengan Metode Eluer dan Huen dengan h = 0,025 dengan fungsi yang diberikan pada contoh pembahasan PDB ordo satu.

\[n = (y0-x0)/h\]

\[n = (0.10 - 0)/0.025 = 4\]

2 METODE EULER

f1 <- function(x,y){x+y}
euler <- function(f, x0, y0, h, n){
  x <- x0
  y <- y0
  
  for(i in 1:n){
    y0 <- y0 + h*f(x0, y0)
    x0 <- x0 + h
    x <- c(x,x0)
    y <- c(y, y0)
  }
  
  return(data.frame(x=x, y=y))
}
Jawaabeuler = euler(f1, x0=0, y0=1, h=0.025, n=4)
Jawaabeuler
##       x        y
## 1 0.000 1.000000
## 2 0.025 1.025000
## 3 0.050 1.051250
## 4 0.075 1.078781
## 5 0.100 1.107626

3 METODE HEUN

f1 <- function(x,y){x+y}
heun <- function(f, x0, y0, h, n, iter=1){
  x <- x0
  y <- y0
  
  for(i in 1:n){
    ypred0 <- f(x0,y0)
    ypred1 <- y0 + h*ypred0
    ypred2 <- f(x0+h,ypred1)
    ykor <- y0 + h*(ypred0+ypred2)/2
    if(iter!=1){
      for(i in 1:iter){
        ykor <- y0 + h*(ypred0+f(x0+h,ykor))/2
      }
    }
    y0 <- ykor
    x0 <- x0 + h
    x <- c(x, x0)
    y <- c(y, y0)
  }
  
  return(data.frame(x=x,y=y))
}
Jawabheun = heun(f1, x0=0, y0=1, h=0.025, n=4)
Jawabheun
##       x        y
## 1 0.000 1.000000
## 2 0.025 1.025625
## 3 0.050 1.052531
## 4 0.075 1.080752
## 5 0.100 1.110319

4 NILAI SEJATI

Solusi sejati PDB tersebut adalah

\[y(x) = e^x - x - 1.\]

y=exp(0.10)-(0.1)-1
y
## [1] 0.005170918

4.1 Galat Euler

galateuler=0.005170918-1.107626
galateuler
## [1] -1.102455

4.2 Galat Heun

galatheun=0.005170918-1.110319
galatheun
## [1] -1.105148

Perbandingan :

Nilai sejati : y(0.10) = 0.005171

Euler : y(0.10) = 1.107626

Heun : y(0.10) = 1.110319; maka metode euler yang lebih baik