Scipy odeint

Scipy odeint
Cet article est conçu autour de la fonction Odeint de la bibliothèque Scipy. Dans ce guide, nous apprendrons à résoudre les équations différentielles en utilisant la fonction Odeint fournie par la bibliothèque Scipy de Python. Le langage de programmation Python a de nombreuses fonctions simples et utiles qui rendent la vie des programmeurs simples et faciles. Les développeurs deviennent des experts dans le domaine de la programmation en utilisant les fonctions intégrées et les bibliothèques gratuites du langage de programmation Python. Dans cet article, nous explorerons la fonction Odeint de la bibliothèque Scipy pour vous aider à apprendre à implémenter la fonction Odeint dans un programme Python.

Qu'est-ce que Odeint?

L'odéint est l'abréviation de l'intégration de l'équation différentielle ordinaire et est utilisée pour résoudre les différents types d'équations différentielles. Il s'agit d'un package complet qui contient une collection d'algorithmes numériques avancés qui sont utilisés pour résoudre les équations différentielles ordinaires et les problèmes de valeur initiale. Il se réfère à la résolution d'équations différentielles qui impliquent des dérivés sans dérivé partiel.

Dans ce tutoriel, nous appellerons la bibliothèque Scipy pour utiliser la fonction Odeint et vous ferons apprendre et comprendre comment implémenter la fonction Odeint dans un programme Python. Comprenons d'abord la syntaxe de la fonction odeint. Ensuite, nous passerons à la section Exemple et apprendrons à implémenter la fonction Odeint.

Syntaxe de la fonction odeint

La fonction Odeint intègre et résout le système d'équations différentielles ordinaires à l'aide du package de bibliothèque ODEPACK de Fortran, Isoda. La syntaxe de la fonction Odeint est la suivante:

La fonction Odeint prend trois paramètres requis et une liste de paramètres facultatifs. Les fonctions y et t sont les paramètres requis qui doivent être fournis pour implémenter la fonction Odeint pour la fonction donnée. Les * args représentent la liste des paramètres facultatifs qui peuvent être fournis et utilisés en fonction de l'exigence de l'utilisateur.

Cependant, le paramètre «fonction» est utilisé pour appeler la fonction qui calcule la dérivée du paramètre «yo» au paramètre «T». Le paramètre «yo» est le type de tableau qui définit la condition initiale du tableau «y». Le paramètre «T» est utilisé pour définir la séquence des points de temps dans le tableau qui est utilisé pour résoudre le tableau «Y».

La fonction odeint renvoie le tableau qui contient la valeur de «y» à la fois «t» avec la valeur initiale de «yo» au début. Il renvoie également un dictionnaire qui contient les informations de sortie supplémentaires. Maintenant, montrons-nous quelques exemples pour vous montrer comment implémenter la fonction Odeint dans un programme Python.

Exemple 1:

Commençons par un exemple simple et très basique. Ici, nous vous guiderons sur la façon dont vous pouvez utiliser la fonction Odeint dans un programme Python et passer les paramètres requis. Considérez l'exemple de code donné suivant pour votre compréhension:

Importer Numpy comme NP
de Scipy.intégrer l'importation odeint
def dydt (y, t):
dy = y + 2 * t
retour dy
y0 = 4
t = np.lispace (0,4)
y = odeint (dydt, y0, t)
imprimer (y)

Nous utilisons les deux bibliothèques de ce programme - Bibliothèques Numpy et Scipy. La bibliothèque Numpy nous permet d'utiliser la fonction lispace (). Scipy nous permet d'utiliser la fonction odeint (). Une fois appelée toutes les bibliothèques, nous déclarons la fonction «dydt» qui est utilisée pour trouver la dérivée de la fonction par la fonction odeint (). La valeur initiale est définie sur y0 = 4 et le temps est défini sur lispace (0, 4). En passant toutes ces valeurs et noms de fonction à la fonction odeint (), nous implémentons la fonction Odeint dans un programme Python. La sortie est la suivante:

Exemple 2:

Pour démontrer la sortie de la fonction Odeint et pour expliquer davantage comment il fonctionne dans une application Python, nous avons précédemment imprimé l'ensemble du tableau. Maintenant, dessions un graphique des mêmes données pour vous donner une image claire de la sortie de la fonction Odeint. Considérez l'exemple de code suivant qui montre la sortie de la fonction Odeint dans un graphique:

Importer Numpy comme NP
Importer Matplotlib.pypllot comme plt
de Scipy.intégrer l'importation odeint
def dydt (y, t):
dy = y + 2 * t
retour dy
y0 = 4
t = np.lispace (0,4)
y = odeint (dydt, y0, t)
PLT.tracé (t, y)
PLT.xlabel ("temps")
PLT.ylabel ("y")
PLT.montrer()

Le programme est exactement le même qui est utilisé dans l'exemple précédent. Seul le code pour tracer la sortie dans le graphique est ajouté ici. La bibliothèque Matplotlib est utilisée pour afficher la sortie dans un graphique. La fonction de tracé de la bibliothèque Matplotlib est utilisée pour générer le graphique des données. Le graphique résultant de la fonction Odeint est le suivant:

Exemple 3:

Nous avons maintenant appris comment la fonction Odeint est implémentée dans un programme Python et comment elle est tracée dans un graphique. Voyons un autre exemple de la fonction Odeint et résolvons une autre équation différentielle avec elle. Considérez l'exemple de code suivant. Ici, nous utilisons l'équation différentielle suivante:

Cette équation est résolue par la fonction Odeint dans l'exemple suivant:

Importer Numpy comme NP
Importer Matplotlib.pypllot comme plt
de Scipy.intégrer l'importation odeint
def dydt (y, t):
dy = 2 * np.exp (t) - 13 * y
retour dy
y0 = 2
t = np.lispace (0,4)
y = odeint (dydt, y0, t)
PLT.tracé (t, y)
PLT.xlabel ("temps")
PLT.ylabel ("y")
PLT.montrer()

Encore une fois, trois bibliothèques sont appelées dans le programme - Scipy, Numpy et Matplotlib - pour importer les fonctions Odeint (), Linspace () et Plot (), respectivement. La fonction DYDT est déclarée en fournissant l'équation différentielle qui est mentionnée précédemment. La valeur initiale et le temps associé pour chaque élément sont définis. Tous les paramètres définis sont transmis à la fonction odeint (). En utilisant le module PLT de la bibliothèque Matplotlib, le résultat de la fonction odeint () est tracé dans le graphique. Voyons la représentation graphique ici:

Exemple 4:

Voyons un peu un exemple pratique complexe pour montrer qu'Odeint peut gérer facilement les différents types de données. Dans l'exemple précédent, nous n'avons déclaré qu'une valeur initiale pour la fonction. Ici, nous utilisons les multiples conditions initiales pour l'équation différentielle. C'est pour vous aider à apprendre à gérer une équation différentielle lorsqu'il a plusieurs conditions initiales. Considérez l'exemple de code suivant:

Importer Numpy comme NP
Importer Matplotlib.pypllot comme plt
de Scipy.intégrer l'importation odeint
def dydt (y, t):
dy = ((1.1 - y) / (1.45 - y)) - (y / (0.02 + y))
retour dy
y0 = [1, 2, 4]
t = np.lispace (1, 10)
y = odeint (dydt, y0, t)
PLT.tracé (t, y)
PLT.xlabel ("temps")
PLT.ylabel ("y")
PLT.montrer()

Notez que les bibliothèques et autres processus de déclaration de données sont les mêmes que dans les exemples précédents, les conditions initiales sont fournies en tant que tableau. Le graphique de sortie de la fonction Odeint avec plusieurs conditions initiales est le suivant:

Conclusion

Ce guide visait à expliquer ce qu'est Odeint et comment il peut être mis en œuvre dans un programme Python. L'Odeint signifie intégration d'équation différentielle ordinaire. Il est principalement utilisé pour résoudre les équations différentielles. Les exemples de programmes ont démontré comment implémenter la fonction Odeint et comment tracer le résultat de la fonction Odeint dans un graphique. De plus, les exemples ont également démontré comment résoudre l'équation différentielle avec plusieurs conditions initiales.