You are on page 1of 31

CalcoloperlAstronomia

a.a.2014/2015
LauroMoscardini
lauro.moscardini@unibo.it
Tel.0512095726
Sitoweb:
apps.difa.unibo.it/les/people/lauro.moscardini/calcolo_1415

Programmadelcorso
Integrazionedifunzioni
MetodidiinterpolazionedidaG
Generazionedinumericasualiemetodi
MonteCarlo
Equazionidierenzialiordinarie
Equazionidierenzialiparziali

Integrazionedifunzioni

Integrazionedifunzioni:
casounidimensionale
Ilproblemageneralee:
b

I=

f (x)dx

GraziealteoremafondamentaledelCalcoloIntegrale,
sicercalafunzioneprimiBvaF(x)talepercuiF(x)=
f(x).Dopodichesihache:

I=

f (x)dx = F(x) ba = F(b) F(a)

FormulediIntegrazionedi
NewtonCotes
Strategia:sosGtuireunafunzionecomplicataconuna
suaapprossimazionefaciledaintegrale:
b

I=

f (x)dx

f n (x)dx

dovefn(x)eunpolinomiodiforma
1

f n( x ) = a0 + a1 x + a2 x + a3 x + ...+ an1 x

n1

+ an x

Ordine1:Regoladeltrapezoide
Inquestocasoilpolinomioealprimordine(reOa):
b

I=

f (x)dx

f1 (x)dx

f1 ( x ) = a0 + a1 x
EquazionedellareUapassanteperi

duepunG[a,f(a)]e[b,f(b)]

f (b) f (a)
f1 ( x ) = f (a) +
( x a)
ba

Ordine1:Regoladeltrapezoide
Integrandoilpolinomiosiha:
b

f (b) f (a)
I f (a) +
( x a)dx

ba
a
f (a) + f (b)
I (b a)
2
SBmadellerrore
totalelocale:

1
3
E t = f ( )(b a)
12

dovepuntotraaeb

CommenB:

lerrorecresceconilcubodellalunghezzadellintervallino

ilrisultatoeesaUoselintegrandaeunafunzionecostanteo
lineare(f=0)

Ordine1:Regoladeltrapezoide
Comefareamigliorare?
Ridurrelalunghezzadellintervallino,facendounaapplicazionemulBpladel
metodosunintervallini!
ba

h=

a +h

I=

f (x)dx +

a +2h

a +(n1)h

f (x)dx + ...+

a +h

f (x)dx +

a +(n2)h

f (x)dx

a +(n1)h

n1

f (a) + 2 f (a + ih) + f (b)


I (b a)

i=1

2n

Commento:
lintegraleeapprossimatodalprodoUotralalunghezza

dellintervallinoeunasGmadellaltezzamediadellafunzionesullo
stessointervallino

Ordine1:Regoladeltrapezoide
ComevarialasBmadellerrore?
Lintervalloeoralungo

ba
h=
n

b a 3
1
E i = f ( i )

n
12

Suognisingolo
intervallinosiha

b a) "
1
(
3
Et =
b a) f ( i )
f
3 (
2
12n
12n
i=1

Commento:
dimezzandolalunghezzadegliintervallini,lerroresiriducediun

faUore4!ecosiviaAUenzionepero:auncertopuntosidiventa
dominaGdallerrorediarrotondamento!

Ordine2:RegoladiSimpson1/3
Inquestocasoilpolinomioealsecondordine(parabola):
b

I=

f (x)dx

f 2 (x)dx

f 2 ( x ) = a0 + a1 x + a2 x 2
Perdenireuna
parabolaservono

3punB,quindi

ba
h=
2

I [ f (a) + 4 f (a + h) + f (b)]
3

f (a) + 4 f (a + h) + f (b)
I (b a)
6

Ordine2:RegoladiSimpson1/3
SBmaerrore
totale:

b a) (4 )
h (4 )
(
Et =
f ( ) =
f ( )
90
2880

dovepuntotra
aeb

Commento:
Nonostantesiaalsecondordine,lerrorecresceconlaquinta

potenzadellalunghezzadellintervallino!!!
ba
h=
ApplicazionemulBplasunintervallini
n
n1

f (a) + 4
I (b a)

SBmaerroretotale
siriducea:

n2

f (a + ih) + 2

i=1,3,5

i= 2,4,6

Et

f (a + ih) + f (b)

3n

b a)
(

180n 4

f (4 )

Ordine3:RegoladiSimpson3/8
Inquestocasoilpolinomioealterzordine(cubica):
b

I=

f (x)dx

f 3 (x)dx

f 3 ( x ) = a0 + a1 x + a2 x 2 + a3 x 3
Perdenireuna
parabolaservono
4punB,quindi

ba
h=
3

3h
I
[ f (a) + 3 f (a + h) + 3 f (a + 2h) + f (b)]
8
f (a) + 3 f (a + h) + 3(a + 2h) + f (b)
I (b a)
8

Ordine3:RegoladiSimpson3/8
SBmaerrore
totale:

b a) (4 )
3h 5 (4 )
(
Et =
f ( ) =
f ( )
80
6480

dovepuntotra
aeb

Commento:

StessoordinediSimpson1/3,maconcoecienteminore
sololeggermentepiuaccurata(coecientenumericoinferiore).

Ordinisuperiori
Ordine4:RegoladiBoole

7 f (a) + 32 f (a + h) + 12(a + 2h) + 32 f (a + 3h) + 7 f (b)


I (b a)
90
SBmaerrore
totale:

8h 7 (6)
Et =
f ( )
945

dovepuntotra
aeb

Ordine5
f (a + h) + 50(a + 2h) + 50 f (a + 3h) + 75 f (x + 4h) + 19 f (b)
19 f (a) + 75
I (b a)
288

SBmaerrore
totale:

275h 7 (6)
Et =
f ( )
12096

dovepuntotra
aeb

EstrapolazionediRichardson
LestrapolazionediRichardsonrappresentaun
metodoincuisicombinanotradilorodue
diversesGmenumerichedellintegraleper
oUenerneunapiuaccurata,sfruUandola
conoscenzadellandamentodellerrore.
Lasuaimplementazionenumericapiueciente
eilmetododiRomberg,unatecnicaricorsiva
idealepergenerareunasGmadellintegralecon
unatolleranzasullerrorepredenita.

EstrapolazionediRichardson
SupponiamodiavereapplicatoundatometodopersGmare
lintegrale.Avremo:
I(h)elasBmadellintegrale
E(h)eilsuoerroreditroncamento

I = I(h) + E(h)

Considerandoiltrapezoideconspaziaturah:

ba
h=
n

b a) "
ba 2 "
(
Et
f
=

h f
2
12n
12

2)
N.B.IltrapezoidehaunaccuratezzaO(h

EstrapolazionediRichardson
SupponiamooradiavereoUenutoduesGmedellintegralecon
duespaziaturediverse,h1eh2.Avremo:

I = I(h1 ) + E(h1 ) = I(h2 ) + E(h2 )


Considerandoindipendentedahilvaloremediodif,siha:
2
1
2
2

E ( h1 ) h
=
E ( h2 ) h

h12
E ( h1 ) = E ( h2 ) 2
h2

sosGtuendo

h1
I(h1 ) + E ( h2 ) = I(h2 ) + E(h2 )
h2

EstrapolazionediRichardson
Dacuipossiamoricavare:

E(h2 )

I ( h1 ) I ( h2 )
1 ( h1 /h2 )

PertantopossiamomigliorarelasGmaprecedente:

I = I(h2 ) + E(h2 ) I ( h2 ) +

I ( h1 ) I ( h2 )
1 ( h1 /h2 )

InparBcolareseh2=h1/2
I ( h2 ) I ( h1 ) 4
1
I I ( h2 ) +
= I ( h2 ) I ( h1 )
2

2 1
3
3
Anchesebasatasulmetododeltrapezoide(applicato
duevolte!),lanuovasBmahaunaccuratezzaO(h4)!

EstrapolazionediRichardson
Ilmetodopuoessereulteriormenteiterato.Sesihannodue
diversesGmeconaccuratezzaO(h4)oUenutesemprecon
h2=h1/2,questepossonoesserecombinateperoUenereuna
nuovasGmacheavraaccuratezzaO(h6):

16
1
I I ( h2 ) I ( h1 )
15
15
CombinandoduesGmeconaccuratezzaO(h6)sipuooUenere
unanuovasGmacheavraaccuratezzaO(h8):

ecosivia

64
1
I
I ( h2 ) I ( h1 )
63
63

AlgoritmodiintegrazionediRomberg
CorrispondeallimplementazionenumericadellestrapolazionediRichardson,
sempreconh2=h1/2.IngeneraleicoecienGnecessaripercombinarelediverse
sGmepossonoesserescrifcome:

I j,k

4 k1 I j +1,k1 I j,k1
=
4 k1 1

krappresentalordinediaccuratezza:k=1O(h2),k=2O(h4),k=3O(h6),
jrappresentaillivellodiaccuratezza:(j+1)epiuaccuratodij

O(h2)O(h4)O(h6)O(h8)O(h10)

AlgoritmodiintegrazionediRomberg:
pseudocodiceI
INPUTa,b(limiGdiintegrazione),INPUTs(criteriodistop),INPUTmaxit(numeromassimodiiterazioni)
n=1
CALLTRAPEZOIDE(n,a,b,integrale)
I1,1=integrale
a=1.1s
i=0
DOWHILE(a>s)and(i<maxit)
i=i+1
n=2i
CALLTRAPEZOIDE(n,a,b,integrale)
Ii+1,1=integrale
DOFORk=2toi+1
j=2+i+k
4 k1 I j +1,k1 I j,k1
I j,k =
4 k1 1
ENDDO

a =

ENDDO

I1,i+1 I1,i
100
I1,i+1

AlgoritmodiintegrazionediRomberg:
pseudocodiceII(implementata!)
INPUTa,b(limiGdiintegrazione),INPUTs(criteriodistop),INPUTmaxit(numeromassimodi
iterazioni)
a=1.1s
i=0
DOWHILE(a>s)and(i<maxit)
i=i+1
n=2i1
CALLTRAPEZOIDE(n,a,b,integrale)
Ii,1=integrale
DOFORk=2toi
j=1+ik
I j,k

4 k1 I j +1,k1 I j,k1
=
4 k1 1

ENDDO

a =

I1,i I1,i1
100
I1,i

ENDDO

QUADRATURADIGAUSS
NelleformulediNewtonCotes,sonouGlizzaGvaloridellafunzione
inpunBpredeterminaBregolari.
NellaQuadraturadiGauss,ipunGdiintegrazionesono
indeterminaB.

Nellesempio,lapprossimazionedellintegralepuoessere
miglioratausandoduepunBinterniscelBinmodointelligente.
LaQuadraturadiGaussoreunmetodopertrovarequesGpunG.

QUADRATURADIGAUSS:
metododeicoecienBindeterminaB
Periltrapezoideavevamo:

f (a) + f (b) b a
ba
I (b a)
=
f ( a) +
f (b)
2
2
a
Generalizzando:

I c 0 f ( x 0 ) + c1 f ( x1 )

dovex0ex1sonopunGincogniGinterniallintervallodi
integrazioneec0ec1sonoopportunicoecienG,pureda
determinarsiabbiamo4incognitedadeterminare!

QUADRATURADIGAUSS:
ServonoquaUrocondizionipertrovarelequaUroincognite:
1

c 0 f ( x 0 ) + c1 f ( x1 ) = 1dx = 2
1
1

c 0 f ( x 0 ) + c1 f ( x1 ) =

xdx = 0
1
1

2
c 0 f ( x 0 ) + c1 f ( x1 ) = x dx =
3
1
2

c 0 f ( x 0 ) + c1 f ( x1 ) =

x 3 dx = 0

NOTA:conunsemplicecambiamentodivariabile,qualsiasi
integralepuoesseretrasformatoinunintegraletra1e1!

QUADRATURADIGAUSS:
SosGtuendosiha:

c 0 + c1 = 2
c 0 x 0 + c1 x1 = 0
2
2
2
c 0 x 0 + c1 x1 =
3
c 0 x 03 + c1 x13 = 0
NOTA:conlasceltadellecondizioniimposte,ivaloririsultanG
delleincognite(c0,c1,x0,x1)sonotalidagaranGrechelintegrale

siaesaOonoallordinecubico!

QUADRATURADIGAUSS:
Risolvendosiha:

c0 = 1
c1 = 1
1
x0 =
0.5773503
3
1
x1 =
0.5773503
3

Pertanto:

1
1
I f + f
3
3

FormulaaduepunBdi
GaussLegendre

PercambiareilimiBdiintegrazione,enecessariofareilseguentecambio
divariabile:

x = a0 + a1 x d

Dallestremoinferiore(x=axd=1)

a = a0 + a1 (1)

Dallestremosuperiore(x=bxd=1)

b = a0 + a1 (+1)

Lesoluzionisono:

a0 =

ba
a1 =
2

b + a)
+ (b a) x d
(
x=

Percui

ilcuidierenzialee

b + a

b a)
(
dx =
dx
2

QUADRATURADIGAUSS:
Formuleagliordinisuperiori
Inmanieraanalogasipossonosviluppareversionidellaquadraturadi
Gaussagliordinisuperiori.UGlizzandonpunGsiha:

I c 0 f ( x 0 ) + c1 f ( x1 ) + ...+ c n1 f (x n1 )
Peresempio,laformuladiGaussLegendrea3punBhai
seguenG6parametri:
c 0 = 0.555555556
c1 = 0.888888889
c 2 = 0.555555556

x 0 = 0.774596669
x1 = 0.0
x 2 = 0.774596669

PeroUenerlisonostaGuGlizzaG6condizioni,pertantolaformula
eesaOaperfunzioninoallordine5compreso!

E f (6)
t

( )

Formuleagliordinisuperiori
E t f (4 ) ( )
E t f (6) ( )

E t f (8) ( )

E t f (10) ( )

INTEGRALIIMPROPRI
Bisognafareuncambiodivariabile!

1/ a

1 1
f ( x )dx = 2 f dt
t
1/ b t

Funzionaquandoftendeazeropiuvelocementedi1/x2quandoxtendeaeperab>0.
AltrimenGconvienespezzarelintegraleindueparG.Esempio:

b>0

f ( x )dx = f ( x )dx + f ( x )dx

FaUocambiandovariabile

FaUonormalmente

You might also like