Viene presentato un calcolatore per risolvere equazioni differenziali del secondo ordine utilizzando un metodo numerico basato sul metodo di Runge-Kutta di Quarto Ordine [1] e un calcolatore basato su un metodo analitico per confronto e scopi educativi.
Il metodo di Runge-Kutta di quarto ordine applicato a un'equazione differenziale di primo ordine è presentato e poi lo stesso metodo viene applicato a un'equazione differenziale lineare del secondo ordine. Infine, viene incluso un tutorial interattivo per studiare gli effetti della dimensione del passo \( h \) utilizzato nel metodo di Runge-Kutta.
Metodo di Runge-Kutta di Quarto Ordine per un'Equazione Differenziale di Primo Ordine
Il metodo di Runge-Kutta di 4° ordine è un metodo numerico ampiamente utilizzato per risolvere equazioni differenziali ordinarie (ODE) della forma:
\[ \dfrac{dy}{dt} = f(y, t) \]
con una condizione iniziale \( y(0) = y_0 \).
Il metodo di Runge-Kutta di 4° ordine approssima la soluzione \( y(t) \) in un momento futuro \( t + h \) (dove \( h \) è la dimensione del passo) basandosi sulle informazioni al tempo \( t \). Il metodo utilizza quattro passaggi intermedi per calcolare la pendenza in diversi punti all'interno dell'intervallo \([t, t+h]\) e li combina per ottenere una pendenza media ponderata, che viene poi utilizzata per stimare \( y(t+h) \).
Ecco i passaggi coinvolti nel metodo di Runge-Kutta di 4° ordine:
Passaggio 1:
\[ k_1 = h \cdot f(y_n, t_n) \]
Qui, \( y_n \) e \( t_n \) sono i valori attuali di \( y \) e \( t \).
Passaggio 2:
\[ k_2 = h \cdot f\left(y_n + \dfrac{k_1}{2}, t_n + \dfrac{h}{2}\right) \]
Passaggio 3:
\[ k_3 = h \cdot f\left(y_n + \dfrac{k_2}{2}, t_n + \dfrac{h}{2}\right) \]
Passaggio 4:
\[ k_4 = h \cdot f(y_n + k_3, t_n + h) \]
Passaggio 5:
Aggiorna \( y \) e \( t \)
Il metodo di Runge-Kutta di quarto ordine combina le quantità sopra (pendenze) per approssimare il valore di \( y \) alla fine dell'intervallo \([t, t+h]\). La media ponderata di queste pendenze viene calcolata utilizzando la formula:
\[ \dfrac{1}{6}(k_1 + 2k_2 + 2k_3 + k_4) \]
Questa pendenza media viene quindi moltiplicata per \( h \) e aggiunta a \( y_n \) per aggiornare il valore di \( y \) a \( t_{n+1} \).
\[ y_{n+1} = y_n + h (\dfrac{1}{6}(k_1 + 2k_2 + 2k_3 + k_4)) \]
\[ t_{n+1} = t_n + h \]
Metodo di Runge-Kutta per un'Equazione Differenziale di Secondo Ordine
Per un'equazione differenziale del secondo ordine della forma:
\[ \dfrac{d^2y}{dt^2} = f(y, \dfrac{dy}{dt}, t) \]
con condizioni iniziali:
\[ y(0) = y_0 \]
\[ \dfrac{dy}{dt}(0) = \dfrac{dy}{dt}_0 \]
possiamo convertirla in un sistema di due equazioni differenziali di primo ordine introducendo una nuova variabile:
Sia
\[ \dfrac{dy}{dt} = v \]
Pertanto, l'equazione differenziale di secondo ordine può essere scritta come sistema come segue:
\[ \dfrac{dy}{dt} = v \]
\[ \dfrac{dv}{dt} = \dfrac{d^2y}{dt^2} = f(y, v, t) \]
Possiamo quindi utilizzare il metodo di Runge-Kutta di 4° ordine per risolvere questo sistema di equazioni differenziali di primo ordine come segue:
Passaggio 1:
Calcola \( k_{1y} \) e \( k_{1v} \)
\[ k_{1y} = h \cdot v \]
\[ k_{1v} = h \cdot f(y_n, v_n, t_n) \]
Passaggio 2:
Calcola \( k_{2y} \) e \( k_{2v} \)
\[ k_{2y} = h \cdot (v_n + \dfrac{k_{1v}}{2}) \]
\[ k_{2v} = h \cdot f\left(y_n + \dfrac{k_{1y}}{2}, v_n + \dfrac{k_{1v}}{2}, t_n + \dfrac{h}{2}\right) \]
Passaggio 3:
Calcola \( k_{3y} \) e \( k_{3v} \)
\[ k_{3y} = h \cdot (v_n + \dfrac{k_{2v}}{2}) \]
\[ k_{3v} = h \cdot f\left(y_n + \dfrac{k_{2y}}{2}, v_n + \dfrac{k_{2v}}{2}, t_n + \dfrac{h}{2}\right) \]
Passaggio 4:
Calcola \( k_{4y} \) e \( k_{4v} \)
\[ k_{4y} = h \cdot (v_n + k_{3v}) \]
\[ k_{4v} = h \cdot f(y_n + k_{3y}, v_n + k_{3v}, t_n + h) \]
Passaggio 5:
Aggiorna \( y \) e \( v \)
\[ y_{n+1} = y_n + \dfrac{1}{6}(k_{1y} + 2k_{2y} + 2k_{3y} + k_{4y}) \]
\[ v_{n+1} = v_n + \dfrac{1}{6}(k_{1v} + 2k_{2v} + 2k_{3v} + k_{4v}) \]
\[ t_{n+1} = t_n + h \]
Calcolatore del Metodo di Runge-Kutta
Ora presentiamo un calcolatore che approssima la soluzione delle equazioni differenziali del secondo ordine della forma
\[
a \dfrac{d^2y}{dt^2} + b \dfrac{dy}{dt} + c y = 0 \]
utilizzando il metodo di Runge-Kutta di quarto ordine descritto sopra, e la soluzione viene anche data analiticamente per confronto.
L'equazione differenziale sopra viene risolta anche analiticamente per fare confronti.
Sia \[ \dfrac{dy}{dt} = v \]
Pertanto, dobbiamo applicare il metodo di Runge-Kutta di 4° ordine al seguente sistema.
\[ \dfrac{dy}{dt} = v \]
\[ \dfrac{dv}{dt} = \dfrac{d^2y}{dt^2} = \dfrac{1}{a} (- b \; v - c \; y ) \]
Il calcolatore utilizza il metodo di Runge-Kutta di quarto ordine e risolve anche la stessa equazione differenziale analiticamente e confronta i risultati graficamente.
Inserisci Coefficienti e Condizioni Iniziali
Inserisci i coefficienti \(a, b \) e \( c \) così come le condizioni iniziali \( y(0) \) e \( dy/dt(0) \) e la dimensione del passo \( h \), quindi risolvi e confronta i grafici delle soluzioni numeriche e analitiche ottenute.
Nota
1) Puoi utilizzare il mouse per spostarti sopra i grafici per ottenere la lettura dei punti sui grafici e quindi confrontarli.
2) Utilizza il mouse per visualizzare un grafico alla volta o entrambi cliccando sui grafici nella legenda mostrata sul lato destro.
3) Gli errori nell'uso del metodo di Runge-Kutta dipendono dalla dimensione del passo \( h \). Questo calcolatore consente di modificare \( h \) e quindi confronta i metodi numerico e analitico e studia l'effetto di \( h \) sugli errori dovuti all'approssimazione utilizzata nel metodo di Runge-Kutta di 4° ordine.
4) Puoi anche cambiare il numero \( n \) di passi utilizzati nei calcoli. Il grafico si estende da \( x = 0 \) a \( x = n \times h \).
Soluzioni:
Tutorial Interattivo: Effetti della Dimensione del Passo \( h \) sull'Approssimazione tramite il Metodo Runge-Kutta
Inserisci i seguenti valori per le costanti \( b , c \) e \( d \) come segue:
\( a = 1 \) , \( b = 0.5 \) e \( c = 5 \) che dovrebbero dare una funzione oscillante con ampiezza decrescente.
Ora inserisci i valori di \( h \) partendo da \( h = 0.01 \) e poi aumenta \( h \) fino a 1. Quali valori di \( h \) danno una migliore approssimazione alla soluzione rispetto al metodo analitico?
Ulteriori Riferimenti e Collegamenti
1 - https://personal.math.ubc.ca/~cbm/aands/abramowitz_and_stegun.pdf - Handbook of Mathematical Functions - di A. Abramowitz e I. Stegun - Pagina 875
2 - University Calculus - Early Transcendental - Joel Hass, Maurice D. Weir, George B. Thomas, Jr., Christopher Heil - ISBN-13 : 978-0134995540
3 - Calculus - Gilbert Strang - MIT - ISBN-13 : 978-0961408824
4 - Calculus - Early Transcendental - James Stewart - ISBN-13: 978-0-495-01166-8