Bonjour,
Nous avons un problème avec l'exercice P9b:
Nous savons que notre intégrateur EulerCromer fonctionne parfaitment parce que le test avec la chute libre (ex P6) nous a donné les bonnes résultats.
En plus, nous savons que les équations 13-15 du page 12 de la complément mathématique pour la cone simple fonctionnent aussi, parce que nous les avons calculé par main pour les vérifier.
Nous avons déjà implementé une fonction qui réduit l'angle avec modulo 2 pi (elle fonctionne aussi, nous l'avons vérifié) et nous sommes sûr que nous n'avons pas un problème avec le polymorphisme.
Maintenant notre problème est que nous avons des chiffres fausses quand nous évoluons le système avec la toupie canonique donnée dans l'énonce de l'exercice P9.
En vrai, nous n'avons aucune idée pourquoi cela ne fonctionne pas et pourquoi nous n'avons pas les bonnes chiffres.
Avez-vous une idée où notre problème pourrait se trouver ou avez-vous un conseil qu'est-que nous pourrions vérifier/faire en plus pour arriver à notre but?
Merci pour vos réponses,
Si à la main vous obtenez les bons nombres, alors mettez des "cout" à chaque étape des calculs et comparez avec ce que vous avez à la main.
Il y a certainement des endroits autres que dans l'intégrateur où vous touchez aux nombres, sinon vous auriez les bons résultats.
C'est peut-être un nombre entier qui a été mal écrit (4 au lieu de 4.0 par exemple)
Une fois que vous avez trouvé, n'hésitez pas à me dire à quel endroit vous vous étiez trompés.
Merci pour tes réponses.
Pourrais-tu nous donner un exemple du code qui ne marche pas? (Pas le code de votre projet, mais un exemple d'utilisation équivalent à votre code)
Ok.
J'essaie, j'éspere c'est plus claire avec cet exemple analogue:
void fonction(vecteur& v) et une autre void fonction2(double& element)
On peut appeler la deuxième dans la première et dans la fonction2 nous avons quelques calcus et une commande similaire comme celui:
element = calculs;
Vérifiez que dans 'fonction', vous n'avez pas un appel de la sorte
fonction2(variable_temporaire);
alors que vous pensiez modifier directement une autre variable "permanente".
variable_temporaire peut par exemple être une variable retournée par copie par une autre fonction/méthode.
Par ailleurs, note que pour calculer un modulo, l'opérateur modulo '%' et std::remainder sont aussi des alternatives viables.
Merci pour tes réponses, la fonction avec modulo 2 pi fonctionne maintenant. :)