def test_diff_equation_runge_kutta_2(self): eq = DifferentialEquation('dy/dt = y : float') eq.select("Runge Kutta 2") y, t,dt = 1.0, 1.0, 0.001 for i in range(int(t/dt)): y = eq.evaluate(y, dt) assert abs(y-np.exp(1)) < 0.0001
def test_diff_equation_exponential_euler(self): eq = DifferentialEquation('dy/dt = 0+(1)*y : float') eq.select("Exponential Euler") y, t,dt = 1.0, 1.0, 0.01 for i in range(int(t/dt)): y = eq.evaluate(y, dt) assert abs(y-np.exp(1)) < 0.0001