Metodi di soluzione numerica per equazioni differenziali ordinarie

Da testwiki.
Vai alla navigazione Vai alla ricerca

I metodi di soluzione numerica per equazioni differenziali ordinarie permettono di risolvere in maniera approssimata equazioni differenziali ordinarie altrimenti non trattabili.

Metodi a passo singolo

Un metodo numerico per la risoluzione di una equazione differenziale si definisce ad un passo se per ogni n>0,yn+1 dipende solamente da yn. Altrimenti si parla di metodo a più passi o multistep.

Metodi di Eulero

Metodo di Eulero esplicito (o "in avanti")

Template:Vedi anche Si tratta di un metodo esplicito per risolvere un'equazione differenziale. Data l'equazione nella forma:

y=dydx=f(x,y)

con la condizione iniziale:

y(x=x0)=y0

definita nel dominio x[a,b] è necessario prima di tutto discretizzare il dominio con un passo h, ottenendo i punti discreti {x0,x1,,xN}, dove xn=x0+nh, con x0=a e xN=b. A questo punto il procedimento è quello di sostituire l'equazione della tangente alla funzione:

y1y0=fx0,y0(x1x0)
y2y1=fx1,y1(x2x1)
Yyn1=fxn1,yn1(xnxn1)

In questo modo la soluzione diviene una somma di funzioni lineari "troncate":

Y=y0+fx0,y0(xx0)Tr+fx1,y1(xx1)Tr++fxn1,yn1(xxn1)Tr

in cui:

(xxi1)Tr={0 se xxi1xxi1 se xi1xxixixi1 se xix

per i=1,,n.

Metodo di Eulero implicito (o all'indietro)

Template:Vedi anche Si tratta di un metodo implicito per risolvere un'equazione differenziale, ricavato dall'approssimazione della derivata con le differenze finite all'indietro:

dydxynyn1h

che applicato all'equazione differenziale diventa:

ynyn1h=f(xn,yn)

equivalente a:

yn+1ynh=f(xn+1,yn+1)

da cui otteniamo la formula risolutiva generica:

yn+1=yn+hf(xn+1,yn+1)

Per risolvere l'equazione ci si riconduce pertanto ad un problema di ricerca di zeri di una funzione. Pur essendo anch'esso un metodo del prim'ordine, è in generale più stabile dell'analogo metodo esplicito. I metodi di Eulero sono usati quasi esclusivamente in analisi numerica, poiché permettono di risolvere semplicemente equazioni differenziali mediante l'utilizzo del computer.

Metodo dei trapezi (o metodo di Crank-Nicolson)

Template:Vedi anche Non sempre i metodi precedenti sono utilizzabili nell'approssimazione numerica di equazioni differenziali. Ad esempio, nel caso del pendolo lineare:

d2xdt2+x=0

i due metodi di Eulero porteranno, durante il processo di numerizzazione, a trasformare il centro in un fuoco. Esistono, dunque, altri metodi, uno di questi è il metodo dei trapezi. Questo metodo deriva comunque dai metodi di Eulero: è sufficiente sommare membro a membro la formula del metodo di Eulero esplicito e quella di Eulero implicito per ricavarne il nuovo metodo, come segue:

yn+1=yn+h2(fn+fn+1)=yn+h2(y'n+y'n+1)

Il nome del metodo deriva dal fatto che la formula risultante ha la stessa forma utilizzata per approssimare l'integrale definito di una funzione come l'area di un trapezio.

Metodo di Heun

Template:Vedi anche Dapprima, calcolare:

yn+1(0)=yn+hfn

Poi, calcolare:

yn+1=yn+h2(f(xn,yn)+f(xn+h,yn+1(0)))

Metodi multipasso

Questi metodi utilizzano non solamente fn e fn+1 per calcolare yn+1 ma anche i valori fnk. Con tutti questi metodi, è necessario utilizzare dapprima un metodo a singolo passo (come il metodo di Eulero) per calcolare i primi valori dei fnk.

Metodo di Adams-Bashforth

Metodo esplicito:

yn+1=yn+h12(23fn16fn1+5fn2)

Fu utilizzata da John Couch Adams per risolvere le equazioni differenziali della teoria della capillarità (vedi la bibliografia).

Metodo di Adams-Moulton

Metodo implicito:

yn+1=yn+h12(5fn+1+8fnfn1)

Formule di differenziazione all'indietro

Template:Vedi anche Le formule di differenziazione all'indietro (BDF) sono una famiglia di metodi impliciti usati specialmente per la soluzione di equazioni differenziali rigide.

Metodi predittore-correttore

Un metodo predittore-correttore si forma di un metodo esplicito (il predittore) e un metodo implicito (il correttore). Dapprima il metodo esplicito è utilizzato per calcolare un'approssimazione di yn+1, poi questa approssimazione di yn+1 è utilizzata nel metodo implicito per calcolare una migliore approssimazione di yn+1. Il vantaggio di questo tipo di metodo è di evitare di risolvere un'equazione implicita per yn+1. Un esempio di metodo predittore correttore è il metodo di Adams-Bashforth (il predittore) con il metodo di Adams-Moulton (il correttore).

Metodo di approssimazione a serie di potenze

Template:Vedi anche Le serie di potenze sono un algoritmo per costruire funzioni e quindi soluzioni di equazioni differenziali lineari. Il procedimento è quello di costruire formalmente una serie di potenze in modo che i suoi coefficienti soddisfino l'equazione differenziale, in particolare utilizzando le serie derivate, e controllare poi che la scelta dei coefficienti dia una serie convergente, quindi converga ad una funzione.

Esempio

Si consideri:

y=5y

Si costruisce formalmente le serie:

k=0+kakxk1=5k=0+akxk

valutando i primi termini:

a1+2a2x+3a3x2+...=5a0+5a1x+5a2x2+...

uguagliando alle rispettive potenze della x:

a1=5a0 che corrisponde a a1=5a0
2a2=5a1 che corrisponde a a2=522a0
3a3=5a2 che corrisponde a a3=533!a0
kak=5ak1 che corrisponde alla serie:
a0k=0+5kxkk!

Questa serie è convergente in per ogni scelta di a0 (potendosi ricondurre alla serie esponenziale con la sostituzione ξ=5x) e la somma di tale serie, che è funzione di classe C1(), fornisce una soluzione dell'equazione differenziale.

Naturalmente l'algoritmo vale anche per equazioni differenziali lineari di ordini superiori.

Bibliografia

Voci correlate

Collegamenti esterni

Template:Portale