package ode1d; import java.awt.*; /** * solves test ode using one of the simple solvers<br> * stores the result in vectors<br> * plots it using SimplePlot */ public class TestOde1d { public static void main(String[] args) { // set up the ODE double t0 = 0.0; double x0 = 1.0; ODE ode = new SimpleODE(x0, t0); // set up the solver double dt = 1.0 / 10.0; double tEnd = 100.0; ODESolver solv = new ODESolverRK4(ode); // arrays to store the results int maxsteps = (int) Math.round(tEnd / dt); double[] t = new double[maxsteps + 1]; double[] s = new double[maxsteps + 1]; // time loop for (int i = 0; i < maxsteps; i++) { t[i] = solv.t; s[i] = solv.x; solv.nextStep(dt); } t[maxsteps] = solv.t; s[maxsteps] = solv.x; // display the result Frame frame = new SimplePlot("ODEtest", 500, 300, t, s); } }