Intégration numérique d'une équation différentielle ordinaire: schéma d'Euler simple et modifié

Le but de ce TD est de programmer deux intégrateurs numériques d'EDO et de comparer leur précision.

Le problème

Nous allons traiter le mouvement d'un pendule rigide: une masse m est reliée à un pivot par une tige de longueur l, supposée rigide et de masse nulle. Le pendule se trouve dans un champ de pesanteur homogène g.

Pas à pas

(*) Voici un squelette de programme qui peut vous servir de point de départ, à compléter:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main(void) {
  float t, tfinal, h;
  float theta, omega, dtheta, domega;
  int i,npas;

  tfinal=5.0; // temps final
  h=0.01; // pas d'intégration
  theta=0.0;
  omega=0.5;

  npas = tfinal/h; // nombre de pas d'intégration


  // à compléter...


  return EXIT_SUCCESS;
}
Auteur(s) : A. Daerr. Dernière modification : Mon Oct 20 17:33:23 2008. [validate XHTML]