public Series[] Evaluate(double xi, double xf, double h, int n, double[] initialYVals, updateYVals deriv) { this.update = deriv; double[] y = initialYVals; double x = xi; double dx = h; double[] k1 = new double[n]; double[] k2 = new double[n]; double[] k3 = new double[n]; double[] k4 = new double[n]; Series[] ser = new Series[4]; for (int i = 0; i < n; i++) { ser[i] = new Series(); ser[i].ChartType = SeriesChartType.Line; } for (int j = 0; x < xf; j++) { for (int l = 0; l < 4; l++) { ser[l].Points.Add(new DataPoint(x, y[l])); } UpdateYVals(x, y, h, n); y = CurrentYs; x += dx; } return ser; }
public RungeKutta(updateYVals deriv) { this.update = deriv; }