#include #include #define dt 1e-2 #define x0 0 #define t0 0 #define tf 10 #define N ((tf-t0)/dt) double dxdt(double x, double t) { return -x*x*x + sin(t); } int main(void) { double x = x0, xn, t = t0, tn; int i; FILE *h = fopen("./euler.dat","w+"); for (i = 0; i < N; ++i) { xn = x + dxdt(x,t)*dt; tn = t + dt; fprintf(h, "%d %f %f\n", i, t, x); x = xn; t = tn; } fclose(h); return 0; }