Using Python to numerically solve the logistic ODE using the midpoint method (also known as the modified Euler method, Heun's method, or the 2nd-order Runge-Kutta method). Include a plot showing both the analytical and numerical solutions dN/dt = rN(1 - N/K), N(0) = N0.