Sei sulla pagina 1di 37

APPUNTIDELCORSODI

LABORATORIODICALCOLO
AVANZATO
MetodiNumericiperleEquazioniDifferenziali
Ordinarie

MARCOLIMONGI
IstitutoNazionalediAstrofisica OsservatorioAstronomicodiRoma

1. EQUAZIONIDIFFERENZIALIORDINARIE
Iproblemifisicicheandremoadaffrontareinquestocorsoimplicanolasoluzionedi
di equazioni o sistemi di equazioni differenziali ordinarie (ODE). Nel caso in cui il
grado dellODE sia maggiore di uno, questa si puo in generale ricondurre ad un
sistemadiODEdelprimoordine.PeresempiolODEdelsecondoordine:

sipuoriscriverecomelinsiemedelledueequazionidelprimoordine

dove z(x) e una nuova variabile. Percio il generico problema che implica la
soluzionediunaODEeingeneralericondottoallostudiodiunsistemadiNODEdel
primoordinedellaforma:

,.

1, ,

dovelefunzioni

,.

sononote.

Un problema che implica la soluzione di una ODE non e completamente


determinato fino a quando non vengano definite le condizioni al contorno. Le
condizionialcontornosonocondizionialgebrichesuivaloridellefunzioni inpunti
specifici del dominio di integrazione. Tipicamente e la natura delle condizioni al
1

contornochedeterminailmetodonumericodiintegrazionepiuconsonoaltipodi
problema.Lecondizionialcontornodividonoiproblemiinduegrandicategorie.
Problemi ai Valori Iniziali. In questo genere di problemi le condizioni al contorno
sonodateadunestremodeldominiodiintegrazione.Tipicamentele sonodate
nelpuntoiniziale deldominiodiintegrazioneelasoluzioneerappresentatadalla
determinazionedeivaloridellefunzioni nelpuntofinaledeldominio .
ProblemiaiValorialContorno.Inquestotipodiproblemilecondizionialcontorno
sonodateagliestremideldominiodiintegrazione.Tipicamentealcunesonofornite
nelpuntoiniziale ,mentelerestantialtrenelpuntofinale .

1.1.

PROBLEMIAIVALORIINIZIALI.

1.1.1. MetododiEuleroEsplicito(oinavanti):
Il metodo di Eulero rappresenta lidea di base di tutti i metodi numerici per la
risoluzionedeiproblemiaivaloriinizialiperODE:
,

IlmetododiEuleroesplicitosibasasullapprossimazionedelladerivataprimadella
funzione mediantelaformuladiTaylor(alsecondoordine)applicataalpunto :
1
2
la quantita

e il resto della formula di Taylor con

opportunonellintornodi .Definendo

un punto

siha:

2
dacuisiricavailvaloredelladerivata:

2
,

sostituendoquestaespressionenellODE
2

per

siha:

non abbiamo piu i valori

Trascurando ora il termine del resto di Taylor

dellasoluzioneesatta,maotterremoivaloridellasoluzioneapprossimata.
Chiamando

la soluzione approssimata e ponendo


siha:
,

DacuilaformuladiEuleroEsplicito:
,

. Il metodo si dice esplicito


Questa formula avanza la soluzione da a
poicheilcalcolodellafunzionein
sibasasuquantitacalcolatein chesono
tuttenote(esplicite).
Daunpuntodivistageometricoil valore
dellarettalacuipendenzaedatada
,

eapprossimatoutilizzandoilvalore

y ( xi ) conilvalore
= yi + h f ( xi , yi )

Figura1:NelmetododiEulerosiapprossima,adognipasso,ilvaloredellasoluzione
cheassumelarettatangenteperlostessonodo

xi

infattilaformula

yi +1


1.1.2. MetododiEuleroImplicito(oallindietro):
ApplichiamolaformuladiTaylornonalpunto comefattoinprecedenza,manel
puntodiarrivo ,cioescambiando con eviceversa:
1
2

dacui

2
Risolvendoperladerivataprimasiha:

2
SostituendonellaODEdipartenza,quindi,siha:
,

Alsolito,trascurandoilrestoavremounasoluzioneapprossimata.Facendousodella
notazionedefinitasopra,avremo:

Ladifferenzarispettoalmetodoesplicitoechela nonepiuvalutatain dove


era nota, ma al contrario in
dove e ancora incognita, poiche e incognita la
.Poicheingeneralela dipendera da
, a secondo membro comparira
lincognita
. Percio il calcolo di
dipende implicitamente da
stesso.
Perquestoilmetodosidiceimplicito.Seladipendenzadi da
elineare,la
valutazionedi
siricondurraallarisoluzionediunaequazionediprimogradoe
saranonlinearelavalutazionedi
saratriviale.Seinveceladipendenzadi da
sarapiulaboriosaerichiederalapplicazione di un metodonumericoper la
ricercadeglizeridiunafunzione(es.metododiNewtonRaphson).
4


1.1.3. MetododiCrankNicolson:
PartiamodallODE
,
eintegriamoamboimembrinellintervallo

:
,

dacui:
,

Risolvendolintegraleconilmetododeitrapeziedutilizzandolasolitanotazioneper
lasoluzioneapprossimatasiha:
,

,
2

cioe:
2

Lastessaformulasipotevaottenereprendendolamediaaritmeticadelleformuledi
Euleroimplicitoedesplicito:
,
,

sommandoledueequazionieedividendoperdue,otteniamo:
2

Anche in questo caso il metodo e implicito poiche richiede la conoscenza della


funzionenelpuntodiarrivocheeancoraincognita.
5


1.1.4. Accuratezza.
Conriferimentoametodidiquestotipo,daremooraalcunedefinizionipreliminari,
estendibili,conopprtunemodifiche,ancheaadaltrimetodi.
Errore globale di discretizzazione: Si dice errore globale di discretizzazione nel
punto
ladifferenzatralasoluzioneveraequellacalcolataapartiredalpunto
inizialedeldominiodiintegrazione:

Errore locale di troncamento: Si dice errore locale di troncamento, lerrore


introdottodalmetodonumericonelleffettuareilsingolopasso

Ordinedelmetodo:Sidiceordinedelmetodo,ilpiugrandeinteropositivopperil
qualerisulti:

Convergenza:Unmetodosidiceconvergentese:
lim

oequivalentementese
lim

Sullabaseditalidefinizioniandiamoadanalizzareivarimetodifinquidescritti.
MetododiEuleroesplicito:Inquestocasolerrorelocaleditroncamentoedatoda:
,

ricordando che i valori veri e quelli approssimati coincidono per definizione nel
puntoiniziale,sihache
,
,dacui

sostituendoinquestaequazionelespansioneinseriediTaylor,siha:

2
dacui:

2
Questaespressione,inoltre,implicache

percioilmetodoedelprimoordineelerrorevaazerocome

MetododiEuleroimplicito:Inquestocasolerrorelocaleditroncamentoedatoda:
,

Utilizzandolequazione(vedisopra)
,

esostituendo,siha:

Ancheinquestocaso,quindi,comenelcasoesplicito,siha:

percioilmetodoedelprimoordineelerrorevaazerocome

MetododiCrankNicolson:Inquestocasolerrorelocaleditroncamentoedatoda:
,

Ricordandoche
,

echeapplicandoilmetododeitrapezi(conlerrore)abbiamo:
7

,
2

12

Quindi,sostituendo,semplificandoericordandoche

echequindi

siha:

12
Inquestocasoquindi,

percioilmetodoedelsecondoordineelerrorevaazerocome

1.1.5. AnalisidiStabilita.
Un algoritmo e stabile se non amplifica gli errori che compaiono nel corso del
processo risolutivo. Studieremo ora la stabilita dei metodi di Eulero esplicito e
implicitoedelmetododiCrankNicolson.Perfarequestostudiamoilcasospecifico
dellequazione:

con condizione iniziale


.

. La soluzione esatta di questa equazione e

Metodo di Eulero esplicito: Dobbiamo provare che lerrore si mantiene limitato.


Applicandoilmetodoallequazionespecifica:
1

Poichelasoluzioneesattatendeazeropervaloricrescentidix,vogliamocheanche
lasoluzionenumericatendaazeropervaloricrescentidin,inmododamantenere
limitatolerrore.Lasoluzionenumerica,fissatoh,tendeazeropervaloricrestentidi
n,solose:
|1

cioeper
8

essndohpositivoperdefinizionelacondizionedistabilitadelmetodoe:
2
IlmetododiEuleroesplicitoestabilesottocondizione.
Metodo di Eulero implicito: In questo caso la soluzione numerica dellequazione
specificae:
1

Inquestocasolasoluzionetendeazeropervaloricrescentidinperqualsiasivalore
dih.IlmetododiEuleroimplicitoeincondizionatamentestabile.
Metodo di CrankNicolson: In questo caso la soluzione numerica dellequazione
specificae:
2
2

2
2

Inquestocasolasoluzionetendeazeropervaloricrescentidinperqualsiasivalore
dih.IlmetododiCrankNicolsoneincondizionatamentestabile.

1.1.6. MetodiRungeKutta:
ImetodiRungeKuttasonometodiincuilapprossimazionedellasoluzionein

dipende solo dai valori della funzione in . Sono quindi metodi espliciti ad un
passo. Il vantaggio rispetto al metodo esplicito di Eulero e che questi metodi
simulanoglieffettidellederivatediordinesuperiorevalutando lafunzione

in piu punti dellintervallo ,


in modo da avere un errore di troncamento
localechesiadiordinesuperioreauno.
MetododiHeun:
Il metodo di Heun e il piu semplice dei metodi RungeKutta ed e un analogo del
metodo di CrankNicolson, ma rimane esplicito poiche usa Eulero esplicito per
predireilvaloredi
dausarein
,
.Consideriamo,quindi,laformula
diCrankNicolson:
9

Approssimiamoorailvaloredi
chesitrovain
passodelmetododiEuleroesplicito.Abbiamoquindi:
,

effettuandoun

Ponendo
,
,

SiottienelaformuladiHeun:

2
,

PoicheilmetododiHeuneunanalogodelmetododiCrankNicolson,perquesto
varranotutteleconsiderazionifatteinprecedenzaperilmetododiCrankNicolson.
Percio,tralealtrecose,ilmetododiHeuneunmetododelsecondoordine.
MetododiRunge:
Supponiamo di effettuare un passo con il metodo di Eulero esplicito fino a meta
dellintervallo
/2 per calcolare il valore della funzione
/
/ .
Effettuiamo poi un passo completo in cui la derivata e calcolata in
/ ,
/
(cioeametadellintervallo).SiottienecosiilmetododiRunge:
/

dacui:
/

LaformuladiRunge,percio,sara:
10


,
2

Figura2:NelmetododiEuleroladerivatanelpuntoinizialediogniintervalloe'estrapolatapertrovareil
valoresuccessivodellafunzione.Questometodohaun'accuratezzadelprimoordine

Figura 3: Nel metodo di Runge l'accuratezza del secondo ordine viene ottenuta utilizzando il valore della
derivatanelpuntoinizialeperdeterminareilvaloredellafunzionenelpuntointermediodell'intervalloepoi
utilizzando questo valore per determinare la derivata da utilizzare per determinare il valore nel punto
finale. Nella figura i cerchi pieni rappresentano i valori finali della funzione mentre i cerchi aperti
rappresentano i valor della funzione che servono per calcolare la derivata da utilizzare nel singolo passo.
Questivalorivengonoscartatiallafinedelpasso.
11

1.1.7. SuimetodidiRungeKutta:
I due metodi che abbiamo fino ad ora (Heun e Runge) si possono vedere piu in
generalenellaforma:

con
,

,
Icoefficienti ,

, , sonosceltiinmodochelerrorelocaleditroncamentosia

cioeimetodisianodelsecondoordine.
PerricavareivaloridiquesticoefficientiripartiamodallosviluppoinseriediTaylor
dellafunzione
:
1
6

1
2

dovealsolito:
1
6

eilrestodellaformuladiTaylorcon unpuntoopportunonellintornodi .
Ricordandoche:
,

eche,
,

siottiene
,

2
12

Trascuarandoilrestosihalaformulaapprossimata:
,

A questo punto vorremo confrontare questa espressione con quella generale data
. Prima di fare questo, pero, conviene
allinizio
espandere inseriediTaylor.RicordandocheingeneralelaformuladiTaylorper
unafunzioneaduevariabili
, nellintornodi ,
edatada:
,
sipuoespandere

nellespressione:
,
,

ricordandoche

siha:

Sostituendoquestaespressioneinquellageneralesiha:

,
,

Raccogliendoafattorcomunesiha:

ConfrontandoquestaespressioneconlosviluppoinseriediTaylorapprossimatosi
hannoleseuqntiidentita:
1

Questo sistema di tre equazioni in quattro incognite non ammette una soluzione
unica.Ciosignificachenonesisteunsolometododelsecondoordine,maunintera
famiglia.
NelcasodelmetododiHeunsiha:
1

2
13

NelcasodelmetododiRungesiha:
0

Le considerazioni fin qui fatte dimostrano che i metodi di Heun e di Runge sono
entrambemetodidelsecondoordine,poicheinentrambeicasinellepansione in
serie di Taylor della funzione si e trascurato il resto
. Entrambe i
metodi sono metodi espliciti poiche per procedere dal punto inizale al punto
si richiede solo la conoscenza della soluzione nel punto iniziale
finale
percio il passo dovra soddisfare la condizione di stabilita. Evidentemente si
possonocostruiremetodidiRungeKuttadiqualsiasiordine,troncandolosviluppo
inseriediTayloraterminiviaviadiordinepiuelevato.Allaumentaredellordineil
procedimentodiventaviaviapiucomplitatoeallostessotempolastimadeglierrori
localidiventasemprepiudifficiledaricavare.
Tra i metodi di RungeKutta, il piu usato e quello del 4 ordine, definito dalle
seguentirelazoni:

,
2
2

,
,

,
6

14


Figura 4: Nel metodo di RungeKutta del quarto ordine la derivata viene calcolata quattro volte per ogni
passo:unavoltanelpuntoiniziale(1),duevolteperunvalorediprovanelpuntointermedio(2,3),euna
voltaperunvalorediprovanelpuntofinale(4).Utilizzandoquestederivatesicalcolailvalorefinaledella
funzione.

Datochefinoallordine4sonorichiestetantevalutazionidelsistemaODEquantoe
lordine stesso, mentre per ordini maggiori occorre effettuare un numero di
valutazioni via via sempre piu grande dellordine del metodo, il RungeKutta del
quarto ordine rappresente un ottimo compromesso tra precisione, sforzo
computazionaleestabilita.

IproeicontrodeimetodiRungeKuttasonoiseguenti:
PRO:
1. Sono efficiente anche quando la soluzione non viene ben approssimata con
polinomi;
2. Sono di solito poco sensibili a eventuali discontinuita delle funzioni del
sistema;
3. Richiedonopocamemoria;
4. Efacilecambiareilpassodiintegrazioniinunmomentoqualsiasi;
5. Iltempodicalcolodellalgoritmononeelevato.QuindipersistemiODEche
richiedano poche risorse di calcolo, il tempo complessivo di integrazione
risultabasso.

15

CONTRO:
1. Il numero di calcoli del sistema ODE e generalmente maggiore rispetto
aquellodialtrealternative;
2. Nonsonoadattiasistemistiff;
3. Lerrorelocalenonfaciledacalcolare;
4. Nonsiprestanoarisolvere problemiincuisianorichiestivaloridellevariabili
dipendenti molto ravvicinati, ossia con valori di h decisamente inferiori a
quellirichiestidallaprecisionedellalgoritmo;
5. Non e possibile risolvere sistemi in cui le derivate siano presenti in forma
implicita.

1.1.8. MetodiMultistep:
I metodi Multistep, utilizzano i valori della variabile dipendente e della sua
derivata accumulati nei punti precedenti ed eventualmente nel punto finale. In
generale unmetodosidicea passise
dipende
manondaivalori
precedenti
1passi
1
.Pertantoungenericometodomultistepa
edellaforma:

dove
0

,
.Se
0 ilmetodoeESPLICITO.Se,alcontrario,
ilmetodoeIMPLICITO.Alcuniesempidimetodimultistepsono:

, siassume
Metododelpuntomedio:Nelmetododelpuntomedioladerivata
,
,
.Pertantosi
edugualealvalorein ,
costantenellintervallo
avra:

Dacuiperivaloriapprossimatiavremo:
2
16

,
. Confrontando questa espressione con quella
dove, al solito,
generale si deduce che
1 , e
0. Pertanto questo e un metodo del
secondoordineaduepassi,esplicito,incui
0,

1,

2,

MetododiSimpson:NelmetododiSimpson,lintegralevieneapprossimatoconla
formuladiSimpson.Percioinquestocasosiavra:

,
2
6

Dacuiperivaloriapprossimatiavremo:
1
3

Anche in questocaso,confrontando questa formula con quella generale si deduce


che
1 e
1/3. Pertanto, questo e un metodo del quarto ordine a due
passi,implicito,incui:
0,

4/3,

1,

1/3

MetodidiAdams:NeimetodidiAdamslafunzione
polinomiointerpolatorediLagrangedigrado ,
1punti.Cioe:

, vienesostituitaconun
,cheinterpolalafunzionein

MetodidiAdamsBashfort:UnmetododiAdamsBashforta
1passieottenuto
sostituendo la funzione
, nellintegrale con un polinomio interpolatore di
, , .
Lagrangedigrado cheinterpolalafunzione
, nei
1nodi
17


Figura5:NelmetododiAdamsBashfortaq+1passilafunzioney(t)=f(t,y(t))vienesostituitaconun
polinomiodiLagrangedigradoqcheinterpolaf(t,y(t))neinoditnq,...,tn.

UnmetododiAdamsBashforta passiediordine .
MetodidiAdamsMoulton:UnmetododiAdamsMoultona
1passieottenuto
sostituendo la funzione
, nellintegrale con un polinomio interpolatore di
Lagrange di grado
1 che interpola la funzione
, nei
2 nodi
, ,
.

18


Figura6:NelmetododiAdamsMoultonaq+1passilafunzioney(t)=f(t,y(t))vienesostituitaconun
polinomiodiLagrangedigradoq+1cheinterpolaf(t,y(t))neiq+2noditnq,...,tn+1.

1.

UnmetododiAdamsMoultona passiediordine

In generale un Polinomio interpolatore di Lagrange che passa per i


,

, ,
, , ,
dallespressione:

,
,

, ,

, e un polinomio di grado

dove

Scrittoesplicitamentediventa:

19

1 punti
cioe

ed e dato

1passisara:

QuindilepressionegeneraleperimetodidiAdamsBashforta

1passisara:

LespressionegeneraleperimetodidiAdamsMoultona

FacciamooraalcuniesempideimetodidiAdamsBashfort:
Metodo a un passo,
0: in questo caso abbiamo solo un nodo
percioilmetodosaradelprimoordine:

dacui:

EuleroEsplicito

Metodo a due passi,


1: in questo caso abbiamo due nodi
,
,percioilmetodosaradelsecondoordine:

dacui:
2

20

Metodo a tre passi,


,
,
,

2: in questo caso abbiamo tre nodi


,percioilmetodosaradelterzoordine:
12

23

16

, ,
Metodoaquattropassi,
3:inquestocasoabbiamoquattronodi
,
,
,
,
,
, percio il metodo sara del quarto
ordine:
59

55

24

37

FacciamooraalcuniesempideimetodidiAdamsMoulton:
Metodo a un passo,
0: in questo caso abbiamo due nodi
, ,percioilmetodosaradelsecondoordine:

dacui:

CrankNicolson

Metodo a due passi,


1: in questo caso abbiamo tre nodi
, ,
,
percioilmetodosaradelterzoordine:
12

Metodoatrepassi,
, ,
,
,

,
,
2:inquestocasoabbiamoquattronodi
,
,percioilmetodosaradelquartoordine:
24

19

21

Iproeicontrodeimetodimultistepsonoiseguenti:
PRO:
1. Fornisconosenzadifficoltaunastimadellerrorelocale;
2. Richiedonounminornumerodicalcolidifunzioneperpassodiintegrazione
CONTRO:
1. TuttiimetodiMultistepesplicitisonoinstabili,quindioccorreutilizzarequelli
impliciti;
2. Glialgoritmimultistepnonsonoautosufficienti.Occorrecioedisporredialtri
algoritmiperavviarelintegrazioneecalcolareipunticoinvoltinellaformula;
3. Le formule sono adatte ad un passo costante. Ogniqualvolta si modifica il
passodi integrazioneoccorre reinizializzarelintegrazioneperpoterdisporre
nuovamentedeipuntinecessariallaformulastessa.

1.1.9. MetodiPredictorCorrector.
I metodi implici (qualunque essi siano) hanno una difficolta aggiuntiva legata al
e in generale in forma implicita. In
fatto che lequazione per il nuovo valore
generalequindi,ognimetodoimplicito,portaadunaequazionedeltipo:

dove la funzione puo essere anche molto complicata. La risoluzione di


unequazionediquestotipo,quindi,deveessereeffettuatanellamaggiorpartedei
casi numericamente. Tra le varie possibilita (metodo di NewtonRaphson, metodo
del punto fisso) ce quella del PredictorCorrector. Lidea e quella di fornire un
primovaloredi provadi
conunmetodoesplicito.Correggereilvaloreconun
metodo implicito ed eventualmente iterare il metodo implicito fino alla
convergenza.
Piuspecificatamentesihalaseguenteprocedura.
Datoungenericometodoesplicito

22

. Per migliorare

mediante esso si determina un valore approssimato


lapprossimazionesiusaquestovalore,
mododacorreggere

,percalcolare

in

conunmetodoimplicito

Percio il metodo esplicito predice una approssimazione e quello implicito la


corregge.Laformulaimplicitapuoessereripetutauncertonumerodivolte

Dopo correzionisi puoricalcolareil valore di nel nuovo punto


,

oppureutilizzareilvaloreprecedente

),

senzaricalcolarlo.

Quindiloschemageneralebaseedeltipo:
Predizione:

Valutazione(Evaluation):
Correzione:

Valutazione(Evaluation):

(metodoesplicito)

(metodoimplicito)
,

Tuttaviasipossonoutilizzareperunoschemapredictorcorrectorpiuvarianti:

PECE(quellobaseappenadescritto)
P(EC)kE
PEC
P(EC)k

23

Ordine del predictorcorrector: Se lo schema predictor e di ordine e lo schema


corrector e di ordine , allora il metodo predictorcorrector PECE si comporta
comeunmetododiordinemin ,
1 .
Esempidischemipredictorcorrectorsonoiseguenti:
MetodoPredictorCorrectorEE+CN:
,

predictor

(EuleroEsplicito,ordine
,

corrector

1)
2)

(CrankNicolson,

Inquestoesempioilmetodopredictorcorrectorediordine2.
MetodoPredictorCorrectorAB2+AM3:
3

predictor
passi,ordine

(AdamsBashfortadue

2)
5

corrector

3)

(AdamsMoultonatrepassi,

Inquestoesempioilmetodopredictorcorrectorediordine3.

1.1.10.

SistemiStiff:

Isistemistiffsipossonopresentare quandositrattaconODEdiordinesuperioreal
primo.UnsistemadiODEdelprimoordinesidicestiffquandoesistonodueopiu
scaledifferentidellavariabileindipendentesullequalicambialavaribiledipendente.
Peresempio,consideriamoilseguentesetdiODE:
998
999
concondizioniiniziali

1,

1998
1999

0.Effettuandolatrasformazione:
2

sihalasoluzioneanalitica:
24

Nellanalisidistablitaabbiamogiavistochenelcasodellequazione:

con soluzione esatta


i metodi impliciti erano incondizionatamente
stabili,mentreilmetododieuleroesplicitoerastabilesoloper
2.Ora,sipuo
facilmentedimostrarechenelcasoincuilequazionesiadeltipo:

con
0 , la condizione di stabilita per il metodo di eulero esplicito e
2/ .
Percioechiarochesesiintegrasseilsistemadipartenzaconunmetodoesplicito,
questo richiederebbe un passo
1/1000 per garantire la stabilita. Daltronde,
perdeterminareivaloridi e iltermine
etrascurabilenonappenacisi
allontanadallorigine.Quindiilproblemagenericolegatoallapplicazionedimetodi
espliciti per equazioni stiff e quello di dover seguire la soluzione sulle scale piu
piccole,pergarantirelastabilitadelmetododiintegrazione,ancheseirequisitidi
accuratezzadellasoluzionepermettanounpassomoltomaggiore.Lunicomododi
ovviareaquestoproblemaequellodiutilizzaremetodiimpliciti.Comegiavisto,il
metododiEuleroimplicitoeunmetododelprimoordine.Sesivuoleottenereuna
maggiore accuratezzapersistemistiff,sipuoricorrereametodiimplicitidiordine
superiorealprimo.

25


Figura7:Esempiodiinstabilitaincontrataintegrandounequazionestiff.Quisisupponechelequazione
abbiaduesoluzioni(lineasolidaelineatratteggiata).Laseconda,varapidamenteazerononappenacisi
discostadallorigine.Nonostantequesto,pero,essadeterminalastabilitadellasoluzione(linea
tratteggiataepuntinata)ancheperscalepiugrandi

1.2. PROBLEMIAIVALORIALCONTORNO.

1.2.1. Introduzione
QuandounaODEdevesoddisfaredellecondizionialcontornochecorrispondonoa
piudiunvaloreperlavariabiledipendentesihaunproblemaaivalorialcontorno.
Tipicamente, le condizioni che devono essere soddisfatte vengono speficicate nel
punto iniziale e nel punto finale dellintervallo di integrazione. La distinzione
principale tra problemi ai valori iniziali e problemi ai valori al contorno e che nel
primocasolasoluzione,notanelpuntoiniziale,siaggiornapassodopopassofinoal
punto iniziale attraverso integrazioni numeriche successive; nel secondo caso,
invece,lecondizionialcontornonelpuntoinizialenondeterminanounasoluzione
unicaconcuipartire,cioeunasoluzionechesoddisfilecondizionialcontornonel
punto iniziale non verifichera in generale le rimanenti condizioni al contorno nel
puntofinale.Nelcasodeiproblemiaivalorialcontorno,quindi,saranecessariauna
proceduraiterativaattraversolaqualetratuttelesoluzionipossibilichesoddisfano
26

lecondizionialcontornonelpuntoinizialesiselezioniquellachesoddisfianchele
condizioni al contorno nel punto finale. Questo, in generale, richiedera
lintegrazionedelleODEsututtolintervallodiintegrazione,ovverolapplicazionedi
unaproceduradirilassamento(vedisotto),percertounnumerodiiterazioni.Per
questomotivolasoluzionedeiproblemiaivalorialcontornorichiedonounosforzo
maggiore sia in termini di programmazione dellalgoritmo, sia in termini di tempo
calcolo.
Un problema ai valori al contorno standard ha la seguente forma: si vuole che un
dato set di equazione differenziali ordinarie del primo ordine, soddisfi
condizioni al contorno nel punto iniziale e un rimenente set di

condizionialcontornonelpuntofinale .
PerciopotremoscrivereilsetdiODEcome:
,

,,

Nelpuntoiniziale ,lasoluzionedovrasoddisfarele
,

,,

1,2, ,

condizionialcontorno:

1,

mentrenelpuntofinale dovrasoddisfarelerimanenti
,

,,

condizioni

1,

Esistono due classi distinte di metodi numerici per risolvere problemi ai valori al
contorno. Nel metodo di shooting vengono scelti dei valori per tutte le variabili
dipendentiinunestremo;talivaloriovviamentedovrannoessereconsistenticonle
condizioni al contorno relative a quellestremo. Fatto questo, le equazioni
differenzialivengonointegrate conuno deimetodi numerici per problemiaivalori
iniziali. In questo modo si determinano i valori di tutte le variabili dipendenti
nellaltro estremo dellintervallo di integrazione. In generale questi valori non
saranno consistenti con le condizioni al contorno per questo estremo, percio si
dovraoperareinmodotaledaaggiustareopportunamenteivalorifornitialpunto
iniziale per ottenere nel punto finale dei valori consistenti con le condizioni al
contornovolute.

27


Figura 8: Schematizzazione del metodo di shooting. I valori di prova della soluzione che soddisfano le
condizionialcontornonelpuntoinizialevengonolanciatialpuntofinale.Lediscrepanzetraivaloricosi
ottenutielecondizionialcontornonelpuntofinalevengonoutilizzateperaggiustareivaloridiprovanel
puntoiniziale.Ilprocessoiterativoavraterminesoloquandolediscrepanzesarannoinferioriadunacerta
tolleranzafissataapriori.

Una variante diquestometodoe il metodo delfitting. Inquestocaso siscelgono


dei valori di prova per tutte le variabili dipendenti in entrambe gli estremi di
integrazione(eche sianoconsistenticonlecondizionialcontornoai dueestremi).
Fattoquestosiintegranoleequazionipartendodallinternoepartendodallesterno,
con uno dei metodi per i problemi ai valori iniziali, fino ad un punto intermedio
detto punto di fitting. Le discrepanze tra i valori delle varibiali dipendenti ottenuti
con lintegrazione dallinterno e con quella dallesterno vengono utilizzate per
correggereivaloridiprovainmododaazzerarelediscrepanzestesse.
Il metodo del rilassamento, invece, utilizza un approccio differente. Le equazioni
differenziali sono rimpiazzate da equazioni alle differenze finite su una griglia di
punti(meshpoints)checopretuttolintervallodiintegrazione.Siforniscequindiuna
prima soluzione di prova che consiste nellinsieme dei valori di tutte le variabili
dipendenti corrispondenti ad ogni mesh point. Questi valori non soddisferanno in
generaleleequazionialledifferenzefiniteperognicoppiadimesh,netantomeno
le condizioni al contorno ai due estremi. Literazione, detta comunemente
rilassamento,consistenellaggiustaretutti ivaloridituttelevariabilidipendentiin
modo tale ottenere la verifica delle equazioni in tutti i mesh, entro un tolleranza
data,nonchedellecondizionialcontornoaidueestremi.
28

Figura9:Schematizzazionedelmetododelrilassamento.Inizialmentesifornisceunasoluzionediprovache
soddisfainmodoapprossimatosialeequazioni chelecondizionialcontorno.Inunprocessoiterativo,poi,
lasoluzionediprovavieneviaviamodificatainmododaottenerelamigliorverificadelleequazioniedelle
condizionialcontorno.

Il metodo del rilassamento e piu efficiente del metodo di shooting quando le


equazioni sono tali che i valori della soluzione agli estremi dellintervallo di
integrazionesonomoltosensibili.Percio,piccolevariazionideivaloridiprovadella
soluzione ad un estremo determinano grandi variazioni dei valori ottenuti
allestremoopposto.Inquestocaso,quindi,edifficilemodificareivaloriinizialiper
ottenereivalorifinalicompatibiliconlecondizionialcontornovolute.
Essendo, in generale, il metodo del rilassamento piu robusto del metodo di
shooting,questoepreferitoquandolefunzioninonvarianolentamentemahanno
variazioniripideinfunzionedellavariabileindipendente.

1.2.2. IlMetododiShooting
Ilprimopassocheoccorreeffettuarenelmetododishootingequellodispecificare
gli valori di prova iniziali di tutte le variabili dipendenti nel punto iniziale
dellintervallo di integrazione compatibili con le condizioni al contorno.
valori iniziali di prova che potranno essere
Pertanto ci saranno
assegnatiliberamentesenzacondizioni.Supponiamochequestivaloriliberisiano
contenuti in un vettore di dimensioni . Quindi, ad ogni particolare
29

corrispondera un particolare
, cioe il vettore dei valori di prova iniziali.
Lintegrazionedelsistemadi ODEconunodeimetodinumericiperiproblemiai
valori iniziali portera ad un particolare
, cioe il vettore dei valori della
soluzione corrispondenti al punto finale dellintervallo di integrazione. In generale
non verifichera le condizioni al contorno date per il punto finale.
Supponiamochelediscrepanzetralecondizionialcontornodateequelleottenute
con lintegrazione appena effettuata siano contenute in un vettore , anchesso
ovviamentedidimensioni ,perciorisultera:
,

1, ,

Ilproblemaquindiequelloditrovareunvettoredivalori cheportiazerotuttii
valori del vettore . Dobbiamo quindi studiare come varia al variare di . Il
differenzialetotaledellagenericacomponentedi saradatoingeneraleda:

Percioperazzerare esufficientevariare inmodoche:

1, ,

Cioe:

1, ,

chescrittoinformacompattarisulta:

essendo lamatriceJacobiana

lacuigenericacomponenteedatada:

Una volta risolto questo sistema avremo le correzioni da apportare ai valori di


.Percioavremocheinuovivaloriliberidi
provadi ,chechiameremoora
provasaranno:

30

Ora se le equazioni differenziali sono lineari, allora, questa procedura porta


direttamente alla soluzione finale. Se invece le equazioni sono non lineari, allora
sara necessario iterare lintera procedura fino a che le discrepanze saranno tutte
inferioriadunacertatolleranzasceltaapriori.
E importante notare che in generale non sara facile calcolare le derivate parziali
checompaiononellamatriceJacobianainmodoanalitico.Sidovraquindiricorrere
alla valutazione di queste per via numerica effettuando integrazioni separate
delledi ODE,incuiognivaloredelvettore vieneincrementatodiunaquantita
sceltaapriori,seguitedalcalcolodelladerivataparzialedatoda:
,,

,, ,

1.2.3. MetododelFitting
Ilmetododishootingassumeimplicitamentecheilancisianosempreingradodi
attraversare il dominio di integrazione, dal punto iniziale al punto finale, e
convergere ad una soluzione corretta, anche nelle prima fase del processo di
convergenza. In realta, in alcuni casi, se i valori di prova sono molto lontani dai
valori corretti, la soluzione non e in grado di essere lanciata da a senza
incontrare espressioni incalcolabili o catastrofiche, come, ad esempio, radici di
numeri negativi o divisioni per zero, che fanno semplicemente morire il
programma. Inoltre in alcuni casi lalta non linearita delle equazioni implica una
diffoltadiconvergenzadovutaallelevatasensibilitadellecondizioniin daquelle
in . In questi casi si puo superare questa difficolta attraverso il metodo dello
shootingtoafittingpointopiusemplicementeilmetododelfitting.Lideaeche
invece di integrare dal punto al punto , si effettua prima una integrazione
dallinterno, da fino ad un certo punto , detto punto di fitting e tale che
, e poi una integrazione dellesterno, da a . Se, come abbiamo
dettoinprecedenza,ilnumerodicondizionialcontornodaimporrein sono ed
ilnumerodaimporrein sono ,alloracisaranno valoriliberiin ed
valoriliberiin dellevariabilidipendentidaassegnare.Supponiamocheivalori
liberiin sianocontenutiinunvettore didimensioni echeivaloriliberiin
siano contenuti in un vettore di dimensioni . Allora ad ogni scelta di
ed analogamente ad ogni
corrispondera un vettore di valori iniziali in ,
31

. Lintegrazione
scelta di corrispondera un vettore di valori iniziali in ,
delsistemadi ODEda a ,conunodeimetodinumericiperiproblemiaivalori
iniziali,permetteradidefiniretuttiivaloridituttelevariabiliindipendentealpunto
di fitting,
. Analogamente lintegrazione dallesterno da a portera a
.Ingeneralequestiduevettorinoncoincideranno,maanzi
definireilvettore
sipotraunvettoredidiscrepanzealpuntodifitting,didimensioni

dovelagenericacomponentee:

1, ,

Questediscrepanzedipenderannoingenerale daivaloridi e ,perciosidovra


operaresuquestivaloriaffinchelediscrepanzealpuntodifittingvadanoazero.Il
differenzialetotaledi saradatoingeneraleda:

1, ,

cioe:

1, ,

Perciolacondizionesullevariazionideivaloriliberiin ein sara:

1, ,

e
da
La soluzione di questo sistema
fornira, quindi, le correzioni
apportareaivaloridiprovadi edi ,percioavremocheinuovivaloriliberidi
provasaranno:

Come nel caso precedente, se le equazioni differenziali sono lineari, allora, questa
proceduraportadirettamenteallasoluzionefinale.Seinveceleequazionisononon
32

lineari, allora sara necessario iterare lintera procedura fino a che le discrepanze
sarannotutteinferioriadunacertatolleranzasceltaapriori.
Anche in questo caso occorrera, in generale, procedere alla valutazione numercia
dellederivateparzialicomedescrittoinprecedenza.

1.2.4. MetododelRilassamento
Ilmetododelrilassamentohaunapproccioalproblemacompletamentedifferente
da quello dei metodi di shooting e di fitting. Infatti, invece di trovare la
combinazionedivaloriliberiperlevariabilidipendentiagliestremidellintervallo
diintegrazione,cheminimizzagliscarti(oalpuntodifittingoaunodeidueestremi
di integrazione), in questo caso lidea e quello di fornire una intera soluzione di
provasututtolintervallodiintegrazione,suddivisoinunagrigliadimeshpoints,e
variareinmanieraopportunale soluzionidiprovaneisingolimeshperottenerela
verifica delle equazioni di partenza, opportunamente linarizzate. Andiamo ora a
spiegarepiuindettaglioilmetodo.
Consideriamoilgenericosistemadi ODEs:
,,

1, ,

Come primo passo suddividiamo lintervallo di integrazione in punti che


chiameremomeshpoints(opiusemplicementemesh)etrasformiamoleequazioni
differenziali in equazioni algebriche alle differenze finite. Percio per la generica
coppiadimesh ,
1 eperlagenericaequazione esimarisultera:
,

,,

,,

dove
/

Supponiamodifornireorauninterasoluzionediprovacheconsistenegli
valori , , , , ,
1, , .Ingeneraleleequazionilinearizzate
33

,,

1, . . ;

1, ,

1, ,

nonsarannoverificate,cioerisultera:
,

1, . . ;

1 .
dove , elanonverificadellequazione esimaperlacoppiadimesh ,
Poiche , dipenderadallasoluzionediprova,studiandodalasuadipendenzada
questa,sipotraoperaresuivaloridiprovaperminimizzaregliscarti.Ildifferenziale
totaledi , edatoda:
,

Ovviamente , dipendera dalle variabili in e in


1. Percio per azzerare gli
errori si dovra imporre che le correzioni ai valori iniziali di prova soddisfino il
seguentesistemadiequazioni:
,
,

1, . .

1, ,

Si ha quindi un sistema di
1 equazioni nelle
incognite
1, , , che rappresentano le correzioni da apportare ai
, ,,
, ,
valoridiprovaperazzerarelenonverifiche.
Le restanti equazioni derivano dalle condizioni al contorno. Supponiamo al
solitochenelprimoestremosianodate condizionialcontornonellforma:
,

,,

1, ,

echenelsecondoestremosianodatelerimanenti
,

,,

condizioni
1, ,

Datiivaloridiprovadellasoluzioneanchequesteequazionilinearizzatenonsaranno
ingeneraleverificate,percioancheinquestocaso,analogamenteasopraavremo:
,

,,

e
34

1, ,

,,

1, ,

Percioancheinquestocaso,analogamenteaquantofattosopra,dovremoimporre
che:

1, ,

1, ,

chescritteesplicitamentediventano:

1, ,

1, ,

che sono appunto le che mancano per portare il sistema a


equazioni
1, , echerendonopercioilsistema
nelle
incognite , , , , ,
inlineadiprincipiorisolubile.
Poiche ogni equazione per la generica coppia di mesh ,
1 dipende dalle
variabili in ,
1 , la matrice dei coefficienti di questo grande sistema sara
evidentemente una matrice con una banda sulla diagonale principale (vedi figura
10). La soluzione di questo sistema, quindi, potra essere effettuata oltre che
attraversoletecnichestandard(gaussjordan,decomposizioneLU)dirisoluzionedi
sistemidiequazioni,soprattuttoattraversotecnichespecificheperlarisoluzionedi
matricisparse.

35

Figura10:Strutturadellamatricedeicoefficientidelsistemadi
equazionidifferenzialitrasormatein
equazionialledifferenzefinite,concondizionialcontornoaidueestremidellintervallodiintegrazione.Le
Xrappresentanolederivatedellagenericaequazione (righe)rispettoallavaribile (colonne).LeV
rappresentanoleincognite ,cioelecorrezionidaapportareaivaloridiprovadituttelevariabiliintuttii
mesh, mentre le B indicano i termini noti, cioe le non verifiche delle varie equazioni. Gli spazi vuoti
rappresentanoglizeri.

Comediconsueto,seleequazionisonononlineari,questaproceduradovraessere
iterata fino a raggiungere lazzeramento delle non verifiche e percio la
convergenzaversolasoluzione.

36

Potrebbero piacerti anche