Scipy Odeint

Scipy Odeint
Questo articolo è progettato attorno alla funzione Odeint della libreria Scipy. In questa guida, impareremo come risolvere le equazioni differenziali utilizzando la funzione Odeint fornita dalla libreria Scipy di Python. Il linguaggio di programmazione Python ha molte funzioni semplici e utili che rendono la vita dei programmatori semplice e semplice. Gli sviluppatori stanno diventando esperti nel campo della programmazione utilizzando le funzioni integrate e le librerie gratuite del linguaggio di programmazione Python. In questo articolo, esploreremo la funzione Odeint della libreria Scipy per aiutarti a imparare come implementare la funzione Odeint in un programma Python.

Cos'è Odeint?

L'odeint è l'abbreviazione dell'integrazione di equazione differenziale ordinaria e viene utilizzato per risolvere i diversi tipi di equazioni differenziali. È un pacchetto completo che contiene una raccolta di algoritmi numerici avanzati che vengono utilizzati per risolvere le equazioni differenziali ordinarie e i problemi di valore iniziale. Si riferisce alla risoluzione di equazioni differenziali che coinvolgono derivati ​​senza derivati ​​parziali.

In questo tutorial, chiameremo la libreria Scipy per utilizzare la funzione Odeint e ti faremo imparare e capire come implementare la funzione Odeint in un programma Python. Comprendiamo prima la sintassi della funzione Odeint. Quindi, passeremo alla sezione di esempio e impareremo ad implementare la funzione Odeint.

Sintassi della funzione odeint

La funzione Odeint integra e risolve il sistema di equazioni differenziali ordinarie utilizzando il pacchetto OdePack Library di Fortran, ISODA. La sintassi della funzione Odeint è la seguente:

La funzione Odeint prende tre parametri richiesti e un elenco di parametri opzionali. Le funzioni y e t sono i parametri richiesti che devono essere forniti per implementare la funzione odeint per la funzione data. *Args rappresenta l'elenco dei parametri opzionali che possono essere forniti e utilizzati in base al requisito dell'utente.

Tuttavia, il parametro "funzione" viene utilizzato per chiamare la funzione che calcola la derivata del parametro "yo" nel parametro "t". Il parametro "yo" è il tipo di array che definisce la condizione iniziale dell'array "y". Il parametro "T" viene utilizzato per definire la sequenza dei punti temporali nell'array che viene utilizzato per risolvere per l'array "Y".

La funzione Odeint restituisce l'array che contiene il valore di "y" alla volta "t" con il valore iniziale di "yo" all'inizio. Restituisce inoltre un dizionario che contiene le informazioni di output aggiuntive. Ora, dimostriamo alcuni esempi per mostrarti come implementare la funzione Odeint in un programma Python.

Esempio 1:

Cominciamo con un esempio semplice e molto semplice. Qui, ti guideremo su come utilizzare la funzione Odeint in un programma Python e passare i parametri richiesti. Considera il seguente codice di esempio dato per la tua comprensione:

Importa Numpy come NP
da Scipy.integrare l'importazione odeint
def dydt (y, t):
dy = y + 2*t
restituire dy
y0 = 4
t = np.Linspace (0,4)
y = odeint (dydt, y0, t)
stampa (y)

Usiamo le due biblioteche in questo programma: Numpy e Scipy Libraries. La libreria Numpy ci consente di utilizzare la funzione Linspace (). Scipy ci consente di utilizzare la funzione odeint (). Una volta chiamando tutte le librerie, dichiariamo la funzione "dydt" che viene utilizzata per trovare il derivato della funzione da parte della funzione odeint (). Il valore iniziale è impostato su y0 = 4 e il tempo è impostato su Linspace (0, 4). Passando tutti questi valori e nomi di funzioni alla funzione odeint (), implementiamo la funzione odeint in un programma Python. L'output è il seguente:

Esempio 2:

Per dimostrare l'output della funzione Odeint e per spiegare ulteriormente come funziona in un'applicazione Python, in precedenza abbiamo stampato l'intero array. Ora, disegniamo un grafico degli stessi dati per darti un'immagine chiara di come appare l'uscita della funzione Odeint. Considera il seguente codice di esempio che mostra l'output della funzione OdeInt in un grafico:

Importa Numpy come NP
Importa matplotlib.Pyplot come Plt
da Scipy.integrare l'importazione odeint
def dydt (y, t):
dy = y + 2*t
restituire dy
y0 = 4
t = np.Linspace (0,4)
y = odeint (dydt, y0, t)
Plt.trama (t, y)
Plt.xlabel ("tempo")
Plt.ylabel ("y")
Plt.spettacolo()

Il programma è esattamente lo stesso utilizzato nell'esempio precedente. Qui viene aggiunto solo il codice per la stampa dell'output nel grafico. La libreria Matplotlib viene utilizzata per mostrare l'output in un grafico. La funzione del diagramma della libreria Matplotlib viene utilizzata per generare il grafico dei dati. Il grafico risultante della funzione Odeint è il seguente:

Esempio 3:

Ora abbiamo imparato come è implementata la funzione Odeint in un programma Python e come viene tracciata in un grafico. Vediamo un altro esempio della funzione Odeint e risolviamo un'altra equazione differenziale con essa. Considera il seguente codice di esempio. Qui, utilizziamo la seguente equazione differenziale:

Questa equazione è risolta dalla funzione Odeint nel seguente esempio:

Importa Numpy come NP
Importa matplotlib.Pyplot come Plt
da Scipy.integrare l'importazione odeint
def dydt (y, t):
dy = 2*np.exp (t) - 13*y
restituire dy
y0 = 2
t = np.Linspace (0,4)
y = odeint (dydt, y0, t)
Plt.trama (t, y)
Plt.xlabel ("tempo")
Plt.ylabel ("y")
Plt.spettacolo()

Ancora una volta, tre librerie sono chiamate nel programma - Scipy, Numpy e Matplotlib - per importare le funzioni OdeInt (), Linspace () e Plot (), rispettivamente. La funzione Dydt viene dichiarata fornendo l'equazione differenziale menzionata in precedenza. Il valore iniziale e il tempo associato per ciascun elemento sono definiti. Tutti i parametri definiti vengono passati alla funzione odeint (). Utilizzando il modulo PLT dalla libreria matplotlib, il risultato della funzione odeint () viene tracciato nel grafico. Vediamo qui la rappresentazione grafica:

Esempio 4:

Dimostriamo un po 'di esempio pratico complesso per mostrare che Odeint può gestire facilmente i diversi tipi di dati. Nell'esempio precedente, abbiamo dichiarato solo un valore iniziale per la funzione. Qui, utilizziamo le più condizioni iniziali per l'equazione differenziale. È per aiutarti a imparare a gestire un'equazione differenziale quando ha più condizioni iniziali. Considera il seguente codice di esempio:

Importa Numpy come NP
Importa matplotlib.Pyplot come Plt
da Scipy.integrare l'importazione odeint
def dydt (y, t):
dy = ((1.1 - Y) / (1.45 - y)) - (y / (0.02 + y))
restituire dy
Y0 = [1, 2, 4]
t = np.Linspace (1, 10)
y = odeint (dydt, y0, t)
Plt.trama (t, y)
Plt.xlabel ("tempo")
Plt.ylabel ("y")
Plt.spettacolo()

Si noti che le librerie e gli altri processi di dichiarazione dei dati sono gli stessi degli esempi precedenti, solo le condizioni iniziali sono fornite come array. Il grafico di output della funzione Odeint con più condizioni iniziali è il seguente:

Conclusione

Questa guida mirava a spiegare cos'è Odeint e come può essere implementato in un programma Python. L'odeint sta per l'integrazione di equazione differenziale ordinaria. Viene utilizzato principalmente per risolvere le equazioni differenziali. I programmi di esempio hanno dimostrato come implementare la funzione odeint e come tracciare il risultato della funzione odeint in un grafico. Inoltre, gli esempi hanno anche dimostrato come risolvere l'equazione differenziale con più condizioni iniziali.