Méthode d'Euler-Calcul de l'erreur relative
Répondre à la discussion
Affichage des résultats 1 à 15 sur 15

Méthode d'Euler-Calcul de l'erreur relative



  1. #1
    Glork

    Méthode d'Euler-Calcul de l'erreur relative


    ------

    Bonjour,
    j'ai un programme qui calcule les positions des corps du système solaire (problème à n corps) à l'aide d'une intégration numérique:
    j'applique la méthode d'Euler à l'accélération et à la vitesse pour connaître ces positions (donc 2 intégrations numériques succéssives). Puis, je calcule l'erreur relative e pour un corps M définie par:
    e = (||SMexp -SMth||)/||SMexp|| avec
    SMexp=vecteur Soleil->corps M calculé par le programme
    SMth= vecteur Soleil->corps M pris comme référence.
    Si on diminue le pas de temps h d'un facteur 10 dans l'intégration numérique, comment diminuera l'erreur relative?
    (je sais que la méthode d'Euler est d'ordre 1 donc l'erreur totale accumulée = o(h).
    Le fait d'intégrer deux fois implique-t-il alors une erreur totale en o(h²) et surtout qu'en est-il de l'erreur relative?)
    Merci.

    -----

  2. #2
    LPFR

    Re : Méthode d'Euler-Calcul de l'erreur relative

    Bonjour.
    Puis-je vous suggérer une méthode plus pragmatique ?
    Elle consiste à calculer l'énergie totale su système (cinétique + potentielle). Vous aurez une idée très nette de l'accumulation d'erreurs dans le calcul. (C'est ça que j'avais fait pour le même problème).

    La conclusion fut que les méthodes "bêbêtes" à intervalle fixe se plantent lamentablement si des objets se rapprochent. J'ai fini par utiliser la méthode adaptative de Numerical Recipes.
    Au revoir.

  3. #3
    Glork

    Re : Méthode d'Euler-Calcul de l'erreur relative

    Bonjour,
    je ne connaissais pas pas cette méthode de résolution: merci; malheureusement, je n'ai plus le temps de changer de méthode...si qn a la réponse à ma question, je le remercie d'avance!

  4. #4
    lucas.gautheron

    Re : Méthode d'Euler-Calcul de l'erreur relative

    Bonsoir,

    La difficulté comme l'a dit LPFR c'est que changer le pas va entrainer des modifications tout à fait imprévisibles des trajectoires.
    Prenons trois corps : le Soleil, la Terre et un astéroïde géocroiseur quelconque. A un certain moment l'astéroïde va s'approcher très près de la Terre. Dès lors celle ci exerce une force sur l'astéroïde qui va prédominer sur celle exercée par le Soleil. La déviation causée par cette force est délicate à calculer parce que son effet est assez court et le pas de calcul va fortement influencer le résultat. Il est possible qu'en effectuant la simulation avec des pas légèrement différents, on aboutisse a posteriori à des collisions ou non entre l'astéroïde et la Terre. Je pense qu'au delà d'un certain temps et d'un certain pas de calcul, cela n'a plus de sens de parler d'erreur relative. Les résultats deviendront aberrants et ne seront ni plus corrects ni plus faux si l'on fait varier un peu le pas de calcul.

    L'idée d'LPFR qui consiste à calculer l'énergie totale du système me semble très astucieuse (et je ne vois pas d'autre moyen de quantifier l'erreur induite) ! Je vais l'appliquer immédiatement sur mon programme

    A+,

    EDIT : peut on avoir plus d'information sur la méthode indiquée dans les Numerical Recipes ?
    Dernière modification par lucas.gautheron ; 26/06/2012 à 20h15.

  5. A voir en vidéo sur Futura
  6. #5
    Glork

    Re : Méthode d'Euler-Calcul de l'erreur relative

    ok merci lucas.gautheron. En effet, quand je diminue le pas de temps, l'erreur augmente parfois beaucoup dans certains cas. Mais si qn pouvait me donner un o de l'erreur relative, je reste preneur

  7. #6
    lucas.gautheron

    Re : Méthode d'Euler-Calcul de l'erreur relative

    Citation Envoyé par Glork Voir le message
    ok merci lucas.gautheron. En effet, quand je diminue le pas de temps, l'erreur augmente parfois beaucoup dans certains cas. Mais si qn pouvait me donner un o de l'erreur relative, je reste preneur
    Attention, ce n'est pas ce que je voulais dire. Je dis simplement que lorsque l'on dépasse la limite de "prédictibilité" (en effectuant la simulation sur un temps trop long par exemple), alors le fait de diminuer le pas n'amènera pas à des résultats forcément plus justes (et parler d'erreur relative n'aura alors aucun sens - enfin, c'est mon sentiment)

    Essayez plutôt de mettre en pratique ce que vous a dit LPFR. Je l'ai fait de mon côté, et je trouve pour une simulation portant sur toutes les planètes du système solaire + pluton, une variation de l'ordre de 0.0000001 % (10-8) de l'énergie mécanique totale des éléments du système sur une simulation d'un an avec un pas de 50 s (méthode d'Euler). Avec un pas de 200 secondes, toujours sur un an, l'erreur passe à un ordre de 10-7.


    A+,

  8. #7
    LPFR

    Re : Méthode d'Euler-Calcul de l'erreur relative

    Citation Envoyé par lucas.gautheron Voir le message
    ...
    EDIT : peut on avoir plus d'information sur la méthode indiquée dans les Numerical Recipes ?
    Bonjour Lucas.
    La méthode est "Adaptative stepsize control for Runge-Kutta" Chap 15 Section 15.2 (de mon édition).
    Et je dois avouer que j'ai utilisé les programmes qui venaient avec la disquette (oui, c'était avant les CD), lesquels, Oh miracle ! fonctionnent correctement sans besoin de les retoucher.
    La méthode fait une estimation de l'erreur de troncature. Pour cela, la méthode utilise (pour chaque itération) un pas double et deux pas simples pour évaluer cette erreur.
    Cordialement,

  9. #8
    lucas.gautheron

    Re : Méthode d'Euler-Calcul de l'erreur relative

    Citation Envoyé par LPFR Voir le message
    Bonjour Lucas.
    La méthode est "Adaptative stepsize control for Runge-Kutta" Chap 15 Section 15.2 (de mon édition).
    Et je dois avouer que j'ai utilisé les programmes qui venaient avec la disquette (oui, c'était avant les CD), lesquels, Oh miracle ! fonctionnent correctement sans besoin de les retoucher.
    La méthode fait une estimation de l'erreur de troncature. Pour cela, la méthode utilise (pour chaque itération) un pas double et deux pas simples pour évaluer cette erreur.
    Cordialement,
    Bonjour LPFR,

    Merci pour la méthode ! J'ai donc pu faire une recherche sur son nom et elle est apparemment expliquée sur wikipedia (mais pour la méthode d'Euler : http://en.wikipedia.org/wiki/Adaptive_stepsize). Je vais regarder ça plus en détails.

    A+,

  10. #9
    Glork

    Re : Méthode d'Euler-Calcul de l'erreur relative

    j'ai lu l'article de Wikipédia, mais je crois que ça ne donne pas la réponse à ma question sur une estimation de l'erreur relative (après 2 intégrations avec la méthode d'Euler).

  11. #10
    Yukii38

    Re : Méthode d'Euler-Calcul de l'erreur relative

    Citation Envoyé par LPFR Voir le message
    Bonjour.
    Puis-je vous suggérer une méthode plus pragmatique ?
    Elle consiste à calculer l'énergie totale su système (cinétique + potentielle). Vous aurez une idée très nette de l'accumulation d'erreurs dans le calcul. (C'est ça que j'avais fait pour le même problème).

    La conclusion fut que les méthodes "bêbêtes" à intervalle fixe se plantent lamentablement si des objets se rapprochent. J'ai fini par utiliser la méthode adaptative de Numerical Recipes.
    Au revoir.
    Bonjour,
    Est ce possible d'avoir plus de précision pour cette méthode s'il vous plait ?

    J'ai tracé l'énergie totale du système mais je ne comprends pas comment quantifier l'erreur à partir de cette courbe... (c'est la pente ?)

    Merci d'avance

  12. #11
    LPFR

    Re : Méthode d'Euler-Calcul de l'erreur relative

    Bonjour.
    Dans la réalité, l'énergie du système reste constante. Tout écart de cette constante dans la simulation est l'erreur cumulée du calcul. La pente ne vous donnera que l'erreur moyenne par itération.
    Au revoir.

  13. #12
    stefjm

    Re : Méthode d'Euler-Calcul de l'erreur relative

    Citation Envoyé par LPFR Voir le message
    Bonjour.
    Dans la réalité, l'énergie du système reste constante. Tout écart de cette constante dans la simulation est l'erreur cumulée du calcul. La pente ne vous donnera que l'erreur moyenne par itération.
    Au revoir.
    Bonjour LPFR,
    J'aurais dis ce qui suit pour exprimer la même chose que vous.

    « Dans le modèle (analytique) utilisé, l'énergie du système reste constante. [...] »

    Cela souligne mieux la différence entre le modèle numérique (approximations liées au codage informatique) et le modèle analytique (calcul différentiel).

    Parce que la réalité, c'est bien glissant comme sujet.

    Cordialement.

    PS: Je suis quasi sûr que nous sommes d'accord et que vous allez dire que vous n'êtes pas d'accord avec moi!
    Moi ignare et moi pas comprendre langage avec «hasard», «réalité» et «existe».

  14. #13
    lucas.gautheron

    Re : Méthode d'Euler-Calcul de l'erreur relative

    Bonsoir,

    Encore une fois, le calcul de la variation d'énergie mécanique est intéressant pour avoir une idée de l'erreur accumulée à chaque pas (pour rendre compte de la discordance entre modèles analytique et numérique, pour dire ça d'une façon qui convienne à stefjm ).
    Par contre, ça ne donne aucune idée de la validité des résultats amha. Le évolue de façon assez linéaire, ce n'est pas le cas de l'erreur sur les positions des corps (qui, au delà d'un certain temps, devient très grande).

    Une idée : Pour s'en rendre compte, on peut par exemple comparer l'évolution du système avec des conditions initiales (très) légèrement différentes. Lorsque leurs états deviennent nettement différents, les calculs n'ont plus de sens (limite de prédictibilité dépassée), notamment à cause de l'incertitude sur les conditions initiales et des erreurs introduites par la résolution numérique. Mais si on compare uniquement les énergies mécaniques du système à un instant donné en fonction des conditions initiales, on ne devrait pas observer de gros écarts, même si les positions des corps divergent complètement.

    (Ce n'est qu'un avis, mais je pense que ça peut être intéressant d'essayer)

    A+
    Étonnant, non ?

  15. #14
    LPFR

    Re : Méthode d'Euler-Calcul de l'erreur relative

    Bonjour.
    Je suis d'accord que, à long terme, on peut avoir une erreur en position avec peu d'erreur en énergie totale.
    Mais pour avoir une idée de l'erreur dans le calcul (sans le refaire deux fois) l'énergie est une bonne mesure, car on connait la valeur que l'on doit obtenir, alors que ce n'est pas le cas pour la position.
    Changer les conditions initiales n'est pas une bonne idée. Dans des systèmes instables, comme els problèmes de N-corps, un petit changement peut donner des grandes conséquences (effet papillon). Et vous ne saures pas si c'est la méthode ou le papillon.
    En réalité, la bonne méthode est celle de refaire le calcul en demandant plus de précision à la méthode et comparer les résultats. Tous les algorithmes adaptatifs ont une estimation de l'erreur à chaque pas et ajustent le pas en conséquence. Quand on n'obtient plus d'évolution en améliorant la précision, on peut considérer qu'on a atteint les limites de la méthode.
    Mais ajouter un calcul de l'énergie totale ne coute rien, et presque rien en temps de calcul.
    Au revoir.

  16. #15
    lucas.gautheron

    Re : Méthode d'Euler-Calcul de l'erreur relative

    Re,

    Si je propose de changer les conditions initiales, c'est n'est pas pour déterminer l'erreur due à l'intégration numérique. J'ai bien précisé que les écarts s'expliquaient par plusieurs phénomènes ("incertitude sur les conditions initiales et des erreurs introduites par la résolution numérique"). Le but de l'expérience était de constater qu'au delà d'un certain temps, les états divergent mais les énergies restent semblables, et donc, on ne peut pas se fier à l'erreur sur l'énergie comme indicateur de la fiabilité de la prévision, après un temps trop long.
    (Evidemment, refaire le calcul systématiquement avec plusieurs conditions initiales serait trop lent. )

    A+
    Étonnant, non ?

Discussions similaires

  1. Regression lineaire minimisant l'erreur relative
    Par invite6ee92c43 dans le forum Mathématiques du supérieur
    Réponses: 9
    Dernier message: 01/05/2012, 18h29
  2. Méthode d'Euler.
    Par invite74d10220 dans le forum Mathématiques du collège et du lycée
    Réponses: 1
    Dernier message: 13/06/2011, 00h23
  3. Methode d'Euler
    Par invite7082371e dans le forum Physique
    Réponses: 6
    Dernier message: 26/05/2011, 21h21
  4. méthode d'euler
    Par invite9d373ca4 dans le forum Mathématiques du collège et du lycée
    Réponses: 2
    Dernier message: 15/09/2010, 22h43
  5. Méthode des rectangles: majoration de l'erreur
    Par invitec053041c dans le forum Mathématiques du supérieur
    Réponses: 9
    Dernier message: 26/01/2009, 12h21