Difference between revisions of "Nomor 2"
Line 29: | Line 29: | ||
# Driver method | # Driver method | ||
t0 = 0 | t0 = 0 | ||
− | v = | + | v = 8 |
t = 15 | t = 15 | ||
− | h = 0. | + | h = 0.25 |
print ('Nilai Y pada saat X adalah:', rungeKutta(t0, v, t, h)) | print ('Nilai Y pada saat X adalah:', rungeKutta(t0, v, t, h)) | ||
+ | dengan ini didapatkan hasil sebesar | ||
− | + | Nilai Y pada saat X adalah: 127.8801198801198 | |
− | |||
− | Nilai Y pada saat X adalah: |
Latest revision as of 23:48, 27 October 2019
import numpy as np
- Python program to implement Runge Kutta method
- with acceleration of car is 8 m/s**2
- air friction and road friction is -0.0015*V m/s and -2.5m/s**2
- so equation became v = 8*t - 2.5*t - 0.0015*v
- A sample differential equation "dv / dt = 8/1.001"
def dvdt(t,v):
return (8/1.001)
- Finds value of y for a given x using step size h
- and initial value y0 at x0.
def rungeKutta(t0, v0, t, h):
#count number of step size #step h n = (int)((t - t0)/h)
v = v0 for i in range (1, n + 1): "apply rungakutta" k1 = h * dvdt(t0, v) k2 = h * dvdt(t0 + 0.5 * h, v + 0.5 * k1) k3 = h * dvdt(t0 + 0.5 * h, v + 0.5 * k2) k4 = h * dvdt(t0 + h, v + k3)
#next value of v v = v + (1.0 / 6.0)*(k1 + 2 * k2 + 2 * k3 + k4) # Update next value of t t0 = t0 + h return v
- Driver method
t0 = 0 v = 8 t = 15 h = 0.25 print ('Nilai Y pada saat X adalah:', rungeKutta(t0, v, t, h))
dengan ini didapatkan hasil sebesar
Nilai Y pada saat X adalah: 127.8801198801198