# include # include # include using namespace std; double euler ( double t0, double u0, double dt, double f ( double t, double u ) ); double f3 ( double t, double u ); int main ( ) { double dt, exact, pi = 3.14159265, t0, t1, tmax, u0, u1; u0 = 0.5; t0 = 0.0; tmax = 12.0 * pi; dt = 0.01; while ( true ) { exact = 0.5 * exp ( sin ( t0 ) ); cout << " " << t0 << " " << u0 << " " << exact << "\n"; if ( tmax <= t0 ) { break; } t1 = t0 + dt; u1 = euler ( t0, u0, dt, f3 ); t0 = t1; u0 = u1; } return 0; } double euler ( double t0, double u0, double dt, double f ( double t, double u ) ) { double u1; u1 = u0 + dt * f ( t0, u0 ); return u1; } double f3 ( double t, double u ) { double dudt; dudt = u * cos ( t ); return dudt; }