TestOde1d
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);
}
}

Peter Junglas 20.12.1999