ROMBERG INTEGRATION

luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 - 18 déc. 2005 à 20:41
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008 - 20 déc. 2005 à 14:16
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/35149-romberg-integration

cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
20 déc. 2005 à 14:16
Moui, tu peux faire un interpéteur d'expressions mathématiques, c'est pas la mort à programmer (faut faire un arbre), mais ça sera assez lent ...
rambc Messages postés 224 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 29 mars 2009
20 déc. 2005 à 13:29
A mon avis, ton problème est TRES proche de celui de la fabrication d'une calculatrice. Tu peux gérer ta formule comme une chaîne de caractères puis remplacer la variable par la valeur numérique qui t'intéresse. Ainsi ton module acceptera tout type de fonction et de variable.

Etant une "quiche" en C++, je ne peux que lancer tes idées très théoriques.

Si tu arrives à faire quelques chose d'intéressant, je suis preneur car je voudrais créer une DLL de calcul numérique.
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
20 déc. 2005 à 12:56
Faire un pointeur de fonction c'est une question syntaxique, je sais pas te dire comme ça mais ça se trouve. Par contre si tu veux pouvoir avoir, comme je le comprends, des fonctions qui dépendent de variables différentes selon les cas ... ce n'est pas possible de manière directe. Tu devras bidouiller.
cs_hitcher Messages postés 21 Date d'inscription jeudi 8 avril 2004 Statut Membre Dernière intervention 15 septembre 2009
20 déc. 2005 à 09:46
Je voudrait améliorer un peu ce code avec votre aide, si vous le voulez bien. Le problême principale est de type ergonomique. Je voudrait utiliser quelque chose comme un pointeur de fonction qui fait que si m'a fonction dépend d'autre variable je n'ai pas à réécrire tous le code (le trapezoide rule en fait).
rambc Messages postés 224 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 29 mars 2009
20 déc. 2005 à 09:24
Commentaire 1 : Pourquoi interpoler la fonction par des polynômes ?
L'évaluation des polynômes peut être faite très rapidement, ainsi qu'une interpolation. Cela peut être un moyen d'accélérer l'intégration.
De plus, l'interpolation est bien aimée en pratique car on n'a pas toujours la formule d'une fonction mais simplement certaines de ses valeurs.

Commentaire 2 : Qu'est-ce que la méthode de Runge-Kutta ?
Cette méthode sert à trouver des solutions d'équations différentielles ordianires du type F(x,y',y'',..)=0

Sinon bon code.
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
19 déc. 2005 à 23:30
en effet, le pdf vaut vraiment la peine. je viens de le lire calmement et c'est très clair, merci!
cs_hitcher Messages postés 21 Date d'inscription jeudi 8 avril 2004 Statut Membre Dernière intervention 15 septembre 2009
19 déc. 2005 à 22:13
alors en la différence entre le simple trapéze et romberg est relativement fine.Romberg est une combinaison linéaire de trapèze qui permet de faire "sauter" une des erreurs d'approximation du trapèze.

Sinon je ne connais pas la méthode de Runge-Kutta, mais comme je viens de l'indiquer Romberg étant une version améliorer du trapèze (Euler) il vaut mieux, utiliser Romberg. Mais lisez le pdf, il est très simple (je suis économètre pas mathématicien).
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
19 déc. 2005 à 07:40
Qu'est-ce que tu appelles le cas "univarié"?

Quand faut-il utiliser Euler, Runge-Kutta ou Romberg? Pour RK je pense que l'ordre d'approximation est équivalent au pas du découpage élevé à la puissance 5, tandis que pour Euler c'est puissance 2 ou 3. Mais avec un pas adaptatif on atteint déjà d'excellents résultats en pratique.
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
18 déc. 2005 à 20:41
J'ai la flemme de déchivrer le pdf :) tu saurais me dire la différence fondamentale avec l'approximation d'Euler (simples trapèzes) ?

Sinon rien que de savoir que cette intégration existe, c'est utile.

++
Rejoignez-nous