trkstep.cpp - numeric - C++ library with numerical algorithms
 (HTM) git clone git://src.adamsgaard.dk/numeric
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) LICENSE
       ---
       trkstep.cpp (541B)
       ---
            1 #include <stdlib.h>
            2 #include <cmath>
            3 #include <vector>
            4 
            5 using namespace std;
            6 
            7 // Stepper function
            8 void rkstep(
            9         void f(int, double, vector<double>*, vector<double>*),
           10         int n, double t, vector<double>* y, double h, vector<double>* y1, vector<double>* dy)
           11 {
           12         vector<double> k0(n);
           13         vector<double> y12(n);
           14         vector<double> k12(n);
           15         (*f)(n,t,y,&k0);
           16         for(int i = 0;i<n;i++) y12[i] = (*y)[i]+k0[i]*h/2;
           17         (*f)(n,(t+h/2),&y12,&k12);
           18         for(int i = 0;i<n;i++) (*y1)[i] = (*y)[i]+k12[i]*h;
           19         for(int i = 0;i<n;i++) (*dy)[i] = (k0[i]-k12[i])*1*(h)/2;
           20 };