luizaspan icon

Método de Euler II (+ fprintf)

luizaspan | PRO | 10/21/15 06:58:09 PM UTC | 0 ⭐ | 741 👁️ | Never ⏰ | []
C |

460 B

|

None

|

0 👍

/

0 👎

#include <stdio.h>
#include <math.h>
 
#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;
}

Comments