j ai besoin de votre aide pour programmer en python la méthode d'euler implicite pour cette équation différentielle:
y'=(y-20001)(y-1)/10001 avec y(0)=10001 et t appartient à [0,15]. Comme l équation n est pas linéaire
y[i+1]= y[i] + h * f (y[i+1]) la formule de récurrence ne donne pas
directement la valeur y[i+1]à partir de y[i] et je ne sais pas comment résoudre ce problème. Pouvez m aider ?
pour résoudre en Euler implicite avec \(f\) non linéaire, il est nécessaire de résoudre à chaque pas d'itération l'équation en \(y_{i+1}\) ce qui revient à chercher la racine de \(hf(y_{i+1})-y_{i+1}+y_i\). Il faut donc programmer une méthode de résolution d'équation, du type Newton par exemple.
L'avantage de Euler implicite ( meilleure stabilité, propagation d'erreur moindre) se paye donc par un certain alourdissement du calcul.
On a donc intérêt à déjà regarder si Euler explicite n'est pas suffisant pour un problème donné.
- Edité par Sennacherib 4 mai 2019 à 8:39:37
tout ce qui est simple est faux, tout ce qui est compliqué est inutilisable
Là, l'avantage, c'est que ton \(f\) est un polynôme d'ordre 2 en \(y\) donc ...
Avez-vous entendu parler de Julia ? Laissez-vous tenter ...
euler implicite
× 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.
Avez-vous entendu parler de Julia ? Laissez-vous tenter ...