Bonjour à tous !!
Je cherche à réaliser un algorithme en langage C me permettant de calculer une intégrale double ou une intégrale curviligne. Quelqu'un a une idée ?
Merci
Bonjour à tous !!
Je cherche à réaliser un algorithme en langage C me permettant de calculer une intégrale double ou une intégrale curviligne. Quelqu'un a une idée ?
Merci
oui !
aller voir le forum algo !
Je conseille (après que l'on me l'ai conseillé des dizaines de fois) :
http://www.library.cornell.edu/nr/bookcpdf.html
Merci mais je suis nouveau dans le forum et je n'ai pas réussi à trouver ce que je cherchais, c'est-à-dire un algorithme pour le calcul d'une intégrale double ou d'une intégrale curviligne.
Nous allons nous limiter au calcul d'une intégrale sue une surface rectangulaire S. Tu pourras facilement écrire le code pour les autres types de surface.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 typedef double (*FNVR)(double, double); //Fonction Numérique de 2 Variables Réelles typedef struct { double xStart, xEnd, yStart, yEnd; }SURFACE; double IntegraleDouble(FNVR f, SURFACE S) { double Integrale = 0; double dx = 0.01, dy = 0.01; double x, y; double u, v; for(x = S.xStart; x < S.xEnd - dx; x+=dx) { for(y = S.yStart; y < S.yEnd - dy; y+=dy) { u = x + dx/2; // Prendre un u tel que : x <= u <= x + dx v = y + dy/2; // Prendre un v tel que : y <= v <= y +dy Integrale+=f(u, v)*dx*dy; } } return Integrale; }
Une intégrale curviligne n' est qu'un cas particulier d'intégrale simple. Toutes les méthodes usuelles sont donc bonnes (rectangles, trapèzes, newton, simpson, hermite, etc...)
Une intégrale double peut la plupart du temps (voir thm de Fubini Lebesgue) se calculer comme une intégrale simple d'une fonction qui est elle même une intégrale simple. Pour les fonctions continues sur R2 c'est OK.
Votre surface sera en général définie par une inégalité du type
s(x,y) < k
On suppose que vous pouvez avoir facilement xmin et xmax pour les points de votre surface, et que pour tout x entre xmin et xmax vous pouvez calculer ymin(x) et ymax(x). Le plus souvent en résolvant en y l'équation s(x,y)=k.
Il vous faut donc calculer pour tout x l'intégrale sur y de f(x,y) entre ymin(x) et ymax(x) (qui est une intégrale simple) donc par une des méthodes ci-dessus.
Vous obtenez une fonction de x que vous intégrez simplement entre xmin et xmax en utilisant encore un algo classique.
NB: La méthode de Melem ci-dessus marche aussi très bien mais pose (un peu) plus de problèmes aux frontières du domaine
Bonjour a tous,
pour ma part c'est la programmation d'une double integrale en C++ qui me derange.
Je dois programmer la double integrale entre 0 et pi de sin(xy)dxdy en utilisant la methode des trapezes, la methode des trapezes ne me pause pas de probleme, c'est plus la programmation de la double integrale.
Si quelqu'un peut m'aider.
Merci d'avance.
0 et pi sont les bornes de l'intégration sur x, de l'intégration sur y, des deux ????Je dois programmer la double integrale entre 0 et pi de sin(xy)dxdy
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager