Email : juliansalomo2@gmail.com
RPubs : https://rpubs.com/juliansalomo/
Department : Business Statistics
Address : ARA Center, Matana University Tower
Jl. CBD Barat Kav, RT.1, Curug Sangereng, Kelapa Dua, Tangerang, Banten 15810.
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))
}Jika diketahui \(f(0)=1\) menggunakan \(h=0,05\) dan \(n=100\)! \(f′ (x, y) = \frac{y}{3x + 1}\)? Gunakan Metode Heun! berikan penjelasan?
f <- function(x,y){y/(3*x+1)}
n = 100
h = 0.05
x0 = 0
y0 = 1
x = x0
y = y0
heun(f,x0,y0,h,n)## x y
## 1 0.00 1.000000
## 2 0.05 1.047826
## 3 0.10 1.091632
## 4 0.15 1.132170
## 5 0.20 1.169990
## 6 0.25 1.205507
## 7 0.30 1.239044
## 8 0.35 1.270855
## 9 0.40 1.301147
## 10 0.45 1.330090
## 11 0.50 1.357823
## 12 0.55 1.384467
## 13 0.60 1.410123
## 14 0.65 1.434877
## 15 0.70 1.458805
## 16 0.75 1.481972
## 17 0.80 1.504436
## 18 0.85 1.526249
## 19 0.90 1.547455
## 20 0.95 1.568094
## 21 1.00 1.588205
## 22 1.05 1.607818
## 23 1.10 1.626964
## 24 1.15 1.645670
## 25 1.20 1.663960
## 26 1.25 1.681856
## 27 1.30 1.699379
## 28 1.35 1.716548
## 29 1.40 1.733380
## 30 1.45 1.749891
## 31 1.50 1.766097
## 32 1.55 1.782010
## 33 1.60 1.797644
## 34 1.65 1.813011
## 35 1.70 1.828121
## 36 1.75 1.842986
## 37 1.80 1.857615
## 38 1.85 1.872016
## 39 1.90 1.886200
## 40 1.95 1.900173
## 41 2.00 1.913944
## 42 2.05 1.927520
## 43 2.10 1.940906
## 44 2.15 1.954111
## 45 2.20 1.967140
## 46 2.25 1.979998
## 47 2.30 1.992691
## 48 2.35 2.005225
## 49 2.40 2.017604
## 50 2.45 2.029832
## 51 2.50 2.041916
## 52 2.55 2.053858
## 53 2.60 2.065662
## 54 2.65 2.077333
## 55 2.70 2.088875
## 56 2.75 2.100290
## 57 2.80 2.111582
## 58 2.85 2.122755
## 59 2.90 2.133812
## 60 2.95 2.144755
## 61 3.00 2.155588
## 62 3.05 2.166313
## 63 3.10 2.176932
## 64 3.15 2.187450
## 65 3.20 2.197866
## 66 3.25 2.208186
## 67 3.30 2.218409
## 68 3.35 2.228539
## 69 3.40 2.238578
## 70 3.45 2.248528
## 71 3.50 2.258390
## 72 3.55 2.268167
## 73 3.60 2.277860
## 74 3.65 2.287472
## 75 3.70 2.297003
## 76 3.75 2.306456
## 77 3.80 2.315833
## 78 3.85 2.325133
## 79 3.90 2.334360
## 80 3.95 2.343515
## 81 4.00 2.352599
## 82 4.05 2.361613
## 83 4.10 2.370558
## 84 4.15 2.379437
## 85 4.20 2.388250
## 86 4.25 2.396999
## 87 4.30 2.405684
## 88 4.35 2.414306
## 89 4.40 2.422868
## 90 4.45 2.431369
## 91 4.50 2.439812
## 92 4.55 2.448196
## 93 4.60 2.456524
## 94 4.65 2.464795
## 95 4.70 2.473011
## 96 4.75 2.481173
## 97 4.80 2.489282
## 98 4.85 2.497338
## 99 4.90 2.505342
## 100 4.95 2.513296
## 101 5.00 2.521199
rk4 <- function(f, x0, y0, h, n){
x <- x0
y <- y0
for(i in 1:n){
k1 <- f(x0,y0)*h
k2 <- f(x0+0.5*h,y0+0.5*k1)*h
k3 <- f(x0+0.5*h,y0+0.5*k2)*h
k4 <- f(x0+h,y0+k3*h)
y0 <- y0 + (1/6)*(k1+2*k2+2*k3+k4)*h
x0 <- x0 + h
x <- c(x, x0)
y <- c(y, y0)
}
return(data.frame(x=x,y=y))
}Jika diketahui \(f(0)=1\) menggunakan \(h=0,05\) dan \(n=100\)! \(f′ (x, y) = \frac{y}{3x + 1}\)? Gunakan Metode Runge-Kutta orde 4! berikan penjelasan?
f <- function(x,y){y/(3*x+1)}
n = 100
h = 0.05
x0 = 0
y0 = 1
x = x0
y = y0
rk4(f,x0,y0,h,n)## x y
## 1 0.00 1.000000
## 2 0.05 1.009269
## 3 0.10 1.017520
## 4 0.15 1.024961
## 5 0.20 1.031742
## 6 0.25 1.037974
## 7 0.30 1.043741
## 8 0.35 1.049110
## 9 0.40 1.054135
## 10 0.45 1.058858
## 11 0.50 1.063314
## 12 0.55 1.067533
## 13 0.60 1.071540
## 14 0.65 1.075356
## 15 0.70 1.078999
## 16 0.75 1.082484
## 17 0.80 1.085824
## 18 0.85 1.089033
## 19 0.90 1.092119
## 20 0.95 1.095093
## 21 1.00 1.097962
## 22 1.05 1.100735
## 23 1.10 1.103417
## 24 1.15 1.106014
## 25 1.20 1.108532
## 26 1.25 1.110975
## 27 1.30 1.113349
## 28 1.35 1.115657
## 29 1.40 1.117902
## 30 1.45 1.120089
## 31 1.50 1.122219
## 32 1.55 1.124297
## 33 1.60 1.126325
## 34 1.65 1.128305
## 35 1.70 1.130240
## 36 1.75 1.132131
## 37 1.80 1.133980
## 38 1.85 1.135791
## 39 1.90 1.137563
## 40 1.95 1.139299
## 41 2.00 1.141000
## 42 2.05 1.142668
## 43 2.10 1.144304
## 44 2.15 1.145909
## 45 2.20 1.147485
## 46 2.25 1.149032
## 47 2.30 1.150552
## 48 2.35 1.152045
## 49 2.40 1.153513
## 50 2.45 1.154956
## 51 2.50 1.156376
## 52 2.55 1.157772
## 53 2.60 1.159146
## 54 2.65 1.160499
## 55 2.70 1.161831
## 56 2.75 1.163143
## 57 2.80 1.164435
## 58 2.85 1.165708
## 59 2.90 1.166963
## 60 2.95 1.168201
## 61 3.00 1.169420
## 62 3.05 1.170623
## 63 3.10 1.171810
## 64 3.15 1.172981
## 65 3.20 1.174136
## 66 3.25 1.175277
## 67 3.30 1.176402
## 68 3.35 1.177514
## 69 3.40 1.178611
## 70 3.45 1.179695
## 71 3.50 1.180766
## 72 3.55 1.181824
## 73 3.60 1.182869
## 74 3.65 1.183903
## 75 3.70 1.184924
## 76 3.75 1.185933
## 77 3.80 1.186932
## 78 3.85 1.187919
## 79 3.90 1.188895
## 80 3.95 1.189860
## 81 4.00 1.190816
## 82 4.05 1.191761
## 83 4.10 1.192696
## 84 4.15 1.193621
## 85 4.20 1.194537
## 86 4.25 1.195443
## 87 4.30 1.196341
## 88 4.35 1.197229
## 89 4.40 1.198109
## 90 4.45 1.198980
## 91 4.50 1.199843
## 92 4.55 1.200698
## 93 4.60 1.201544
## 94 4.65 1.202383
## 95 4.70 1.203213
## 96 4.75 1.204037
## 97 4.80 1.204852
## 98 4.85 1.205661
## 99 4.90 1.206462
## 100 4.95 1.207256
## 101 5.00 1.208043