Méthodes d'Euler et Runge-Kutta 2
Re: Méthodes d'Euler et Runge-Kutta 2
Ben n instructions python comparé à une instruction qui est codé en C (ou en fortran je ne sais pas) en dessous.
Non ça ne doit pas être un pb d'arrondis sauf si le pas est tout petit.
Je vais voir si j'ai le temps de faire tourner le code pour voir ce qui merdouille.
Non ça ne doit pas être un pb d'arrondis sauf si le pas est tout petit.
Je vais voir si j'ai le temps de faire tourner le code pour voir ce qui merdouille.
Pas prof.
Prépa, école, M2, thèse (optique/images) ->ingé dans le privé.
Prépa, école, M2, thèse (optique/images) ->ingé dans le privé.
Re: Méthodes d'Euler et Runge-Kutta 2
heu à vue comme ça...où as tu UN float? Car je ne vois que des entiers...ça va assez mal se passer car entier/entier...python2 ou python3?
Qq la réponse, est est mauvaise de se baser sur ce genre de features...mets moi des floats partout (sauf pour n...)
Qq la réponse, est est mauvaise de se baser sur ce genre de features...mets moi des floats partout (sauf pour n...)
Pas prof.
Prépa, école, M2, thèse (optique/images) ->ingé dans le privé.
Prépa, école, M2, thèse (optique/images) ->ingé dans le privé.
Re: Méthodes d'Euler et Runge-Kutta 2
Ok je vais faire ça, je m'étais pas posé la question
Re: Méthodes d'Euler et Runge-Kutta 2
deltaT est un float donc tous les termes dans les listes seront aussi des floats.
Re: Méthodes d'Euler et Runge-Kutta 2
deltaT = t_lim/n / en python2 c'est un int. en 3 c'est un float.
Je ne dis pas que c'est le problème mais c'est une très mauvaise pratique car c'est source d'erreur. Pourquoi s'autotendre des pièges?
Je ne dis pas que c'est le problème mais c'est une très mauvaise pratique car c'est source d'erreur. Pourquoi s'autotendre des pièges?
Pas prof.
Prépa, école, M2, thèse (optique/images) ->ingé dans le privé.
Prépa, école, M2, thèse (optique/images) ->ingé dans le privé.
Re: Méthodes d'Euler et Runge-Kutta 2
Bon en fait l'erreur est grossière, tellement grossière que je ne l'ai pas vue au premier coup d'œil…
Dans la fonction Euler, les deux instructions que tu réalises séquentiellement :
doivent en réalité être réalisées en parallèle. En effet après ta première ligne de code x est modifié alors qu'il faut utiliser l'ancienne valeur de x dans la seconde ligne. Il faut donc écrire à la place de ces deux lignes :
En revanche, rk2 est correcte puisque tu utilises des variables intermédiaires.
Une fois modifié, voici ce qu'on obtient avec n = 5000 :
Dans la fonction Euler, les deux instructions que tu réalises séquentiellement :
Code : Tout sélectionner
x = x+deltaT*F(x,y)
y = y+deltaT*G(x,y)
Code : Tout sélectionner
x, y = x+deltaT*F(x,y), y+deltaT*G(x,y)
Une fois modifié, voici ce qu'on obtient avec n = 5000 :
Re: Méthodes d'Euler et Runge-Kutta 2
Ah mince j'avais pas remarqué en effet... du coup en corrigeant cette erreur j'ai bien le résultat attendu pour l'oscillateur harmonique
Merci !
J'ai tout passé en float pour être sûr (sauf n) et j'obtiens le même résultat. Mais effectivement je vais tâcher de prendre des bonnes habitudes pour éviter les erreurs.fakbill a écrit :deltaT = t_lim/n / en python2 c'est un int. en 3 c'est un float.
Je ne dis pas que c'est le problème mais c'est une très mauvaise pratique car c'est source d'erreur. Pourquoi s'autotendre des pièges?
Merci !
Re: Méthodes d'Euler et Runge-Kutta 2
Bien vu
DMIII : oui, tout de monde devrait maintenant apprendre le python3 mais pour de sombre raisons de mises à jour non faites certains lycées vont encore bosser avec la version2
DMIII : oui, tout de monde devrait maintenant apprendre le python3 mais pour de sombre raisons de mises à jour non faites certains lycées vont encore bosser avec la version2
Pas prof.
Prépa, école, M2, thèse (optique/images) ->ingé dans le privé.
Prépa, école, M2, thèse (optique/images) ->ingé dans le privé.
Re: Méthodes d'Euler et Runge-Kutta 2
Dernière modification par np* le 17 mai 2016 11:43, modifié 1 fois.
$ $P = N\!P^* ?$ $
Re: Méthodes d'Euler et Runge-Kutta 2
Ta vidéo date de 2013.