Pembahasan 3B
F = 100
m = 10 g = float (input("gravitasi adalah :")) mu = float (input("coef gesek adalah :")) Cd = float (input("coef drag :")) A = float (input("area :")) Rho = 1.2 v0 = float (input("v awal :")) vf = float (input("v akhir :"))
- Friction Force
Ff = m*g*mu
- Drag Force
Fd = (Cd*A*Rho*v0**2)/2
a2 = (F/m) - (Fd/m) - (Ff) def dtdtv(t, y):
return((m)/(F - m*g*mu - 0.5*Cd*A*Rho*v0**2))
- Misal:
t = 0 h = 0.01 def rungekutta(v0, t0, vf, h):
n = (int)((vf - v0)/h) t = t0 for i in range(1, n + 1): "Apply Runge Kutta Formulas to find next value of y" k1 = h * dtdtv(v0, t) k2 = h * dtdtv(v0 + 0.5 * h, t + 0.5 * k1) k3 = h * dtdtv(v0 + 0.5 * h, t + 0.5 * k2) k4 = h * dtdtv(v0 + h, t + k3) # Update next value of y t = t + (1.0 / 6.0)*(k1 + 2 * k2 + 2 * k3 + k4) # Update next value of x v0 = v0 + h return t
tf = rungekutta(v0, t, vf, h)
print(tf)