def second(y, z, y0, z0, t0, tf, dt):
N = (tf-t0)/dt
y.append(y0)
for i in range(int(N)):
t1 = t0 + dt
y1 = y0 + z0*dt
zk1 = z(t0, y0, z0)
zk2 = z(t0+1/2*dt, y0+1/2*dt, z0+1/2*zk1*dt)
z1 = z0 + zk2*dt
y.append(y1)
t0 = t1
y0 = y1
z0 = z1
return y
I am getting something like this: [1, 1, -8.0, -26.0, -269.0]. Can you check if I understand how to apply the second order runge-kutta method?