Après avoir lu un peu plus en détail, je pense qu'il faudrait afficher la valeur de la liste dy à chaque tour de boucle pour voir à quel moment un None se glisse dedans. A juste lire le code je pense que ça vient forcément des valeurs de cette liste même si j'arrive pas trop à comprendre comment ce None peut arriver là.
rikitake system
voir ligne 112
voir ligne 112
Traceback (most recent call last):
File "lyapunov.py", line 113, in <module>
xc1 = rk4(fun1 , dT, dy[0],dy[1],dy[2],0)
File "lyapunov.py", line 12, in rk4
k1 = dt * f(x1,x2,x3)
File "lyapunov.py", line 6, in fun1
return 8*x2 - 8*x1
TypeError: unsupported operand type(s) for *: 'int' and 'NoneType'
C'est vraiment à la première itération que ça foire, mais ce n'est pas quand il fait appel à la fonction fun1? Pour être franc j'ai écrit ce code à partir d'un code C++ mais là je ne vois pas comment la première valeur de la liste dy devient none!!!
Grave non, par contre ne pas savoir debug est un gros handicap.
Faut vraiment avoir le réflexe de coller des print partout quand on comprend pas ce qui se passe. Quand je dis partout, c'est : quand une variable est modifiée, pour inspecter sa valeur, et quand il y a des boucles et des branchements conditionnels (des if/else) pour voir quels branches sont prises.
Avec ce genre de réflexe tu aurais pu comprendre le problème en moins d'une heure en étant large.
Après le print est un outil de debug assez basique, on peut aussi utiliser un fichier de log et un debugguer, mais si tu maîtrise pas le debug au print, pas la peine de chercher ailleurs dans un premier temps.
Bonjour LoupSolitaire, Merci en tout cas, c'est une leçon que je viens d'apprendre.
unsupported operand type
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Blond, bouclé, toujours le sourire aux lèvres...
Blond, bouclé, toujours le sourire aux lèvres...
Blond, bouclé, toujours le sourire aux lèvres...
Blond, bouclé, toujours le sourire aux lèvres...