Algorithme de la Méthode des Trapèzes pour le calcul d'intégral en Langage C :
On souhaite calculer l’intégrale de la fonction suivante :
On souhaite calculer l’intégrale de la fonction suivante :
f(x) = exp(-x)
Dans l’intervalle : [0, 1]#include <stdio.h> #include <stdlib.h> #include<math.h> #define a 0.0 // Borne inférieure d'intégration #define b 1.0 // Borne supérieure d'intégration #define N 100 // Nombre de points double f(double x) { return exp(-x); // fonction à intégrer } voidmain() { double *x; x = (double *)calloc(N, sizeof(double)); // Allocation dynamique des abscisses xi double Somme, I; double h = (b-a)/N; // Pas d'intégration Somme = 0.0; for(int i=1;i<N;i++) // remarquons que l'indice s'arrête à N-1 { x[i] = a + i*h; // calcul des abscisses xi Somme += f(x[i]); // calcul de la somme } Somme += 0.5*( f(a) + f(b) ); I = Somme*h; // valeur finale de l'intégrale printf("\n L'integrale I = %18.16g \n\n",I); // Affichage du résultat delete [] x; // Libération de la mémoire } |
Aucun commentaire:
Enregistrer un commentaire