34
Numeerinen integrointi ja derivointi Keijo Ruotsalainen Division of Mathematics

Numeerinen integrointi ja derivointis-mat-pcs.oulu.fi/~keba/NumMen/numer_kalvot7.pdf · Olkoon f(x) jatkuva funktio, ja g(x) funktio, joka ei vaihda merkkiä integroimisvälillä

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Numeerinen integrointi ja derivointis-mat-pcs.oulu.fi/~keba/NumMen/numer_kalvot7.pdf · Olkoon f(x) jatkuva funktio, ja g(x) funktio, joka ei vaihda merkkiä integroimisvälillä

Numeerinen integrointi ja derivointi

Keijo Ruotsalainen

Division of Mathematics

Page 2: Numeerinen integrointi ja derivointis-mat-pcs.oulu.fi/~keba/NumMen/numer_kalvot7.pdf · Olkoon f(x) jatkuva funktio, ja g(x) funktio, joka ei vaihda merkkiä integroimisvälillä

Interpolaatiokaavat

◮ Approksimoitava integraali I =∫ b

af (x)dx .

◮ Tasavälinen hila: xi = a + (b−a)in

, i = 0, . . . , n

◮ Funktion f (x) interpolaatiopolynomi

Pn(x) = f (x0) + f [x0, x1](x − x0) + . . .

+ f [x0, . . . , xn](x − x0) · · · (x − xn−1).

◮ Integraalin I approksimaatio In =∫ b

aPn(x)dx .

◮ Approksimaation virhe

I − In =1

(n + 1)!

∫ b

a

f (n+1)(ξx)Πnj=0(x − xj )dx .

Keijo Ruotsalainen Matematiikan jaos 2 / 33

Page 3: Numeerinen integrointi ja derivointis-mat-pcs.oulu.fi/~keba/NumMen/numer_kalvot7.pdf · Olkoon f(x) jatkuva funktio, ja g(x) funktio, joka ei vaihda merkkiä integroimisvälillä

Keskipistekaava◮ Interpolaatiopolynomi: P0(x) = f (a+b

2) = f (x0).

◮ Integroimiskaava on tällöin

I0 =

∫ b

a

P0(x)dx = (b − a)f (a + b

2).

Lause 5.1

Olkoon funktio f (x) kaksi kertaa jatkuvasti derivoituva funktiovälillä [a, b]. Tällöin keskipistekaavan

I0(f ) = (b − a)f (x0)

virhe on

E0(f ) =1

24(b − a)3f (2)(ζ),

missä ζ ∈ [a, b].

Keijo Ruotsalainen Matematiikan jaos 3 / 33

Page 4: Numeerinen integrointi ja derivointis-mat-pcs.oulu.fi/~keba/NumMen/numer_kalvot7.pdf · Olkoon f(x) jatkuva funktio, ja g(x) funktio, joka ei vaihda merkkiä integroimisvälillä

Väliarvolause

Lauseen todistuksessa tarvitaan seuraavaa lausetta

Lause 5.2

Olkoon f (x) jatkuva funktio, ja g(x) funktio, joka ei vaihdamerkkiä integroimisvälillä [a, b]. Tällöin on olemassa pisteζ ∈ [a, b] siten, että

∫ b

a

f (x)g(x)dx = f (ζ)

∫ b

a

g(x)dx .

Keijo Ruotsalainen Matematiikan jaos 4 / 33

Page 5: Numeerinen integrointi ja derivointis-mat-pcs.oulu.fi/~keba/NumMen/numer_kalvot7.pdf · Olkoon f(x) jatkuva funktio, ja g(x) funktio, joka ei vaihda merkkiä integroimisvälillä

Virhekaavan todistus

◮ Vakiointerpolaation virhelauseke: ∀ x1 ∈ [a, b]

f (x) − f (x0) = f [x0, x1](x − x0) +1

2f (2)(ξx)(x − x0)(x − x1)

∫ b

af [x0, x1](x − x0)dx = 0, sillä x0 on välin keskipiste:

◮ Keskipistekaavan virhe:E0(f ) =

1

2

∫ b

af (2)(ξx)(x − x0)(x − x1)dx .

◮ x1 = x0 ⇒ E0(f ) =1

2

∫ b

af (2)(ξx)(x − x0)

2dx .

◮ Funktio f (2)(ξx) on jatkuva ja g(x) = (x − x0)2 ≥ 0, joten

väliarvolauseen nojalla on ζ ∈ [a, b] siten, että

E0(f ) =1

2f (2)(ζ)

∫ b

a

(x − x0)2dx =

1

24(b − a)3f (2)(ζ).

Keijo Ruotsalainen Matematiikan jaos 5 / 33

Page 6: Numeerinen integrointi ja derivointis-mat-pcs.oulu.fi/~keba/NumMen/numer_kalvot7.pdf · Olkoon f(x) jatkuva funktio, ja g(x) funktio, joka ei vaihda merkkiä integroimisvälillä

Puolisuunnikassääntö

◮ Interpolaatiopisteet x0 = a ja x1 = b.

◮ Funktion esitysf (x) = f (x0)− f [x0, x1](x − x0) +

1

2f (2)(ξx)(x − x0)(x − x1).

◮ Integroimiskaava

I1 =b − a

2[f (a) + f (b)]

◮ Puolisuunnikassäännön virhe on

E1(f ) =1

2

∫ b

a

f (2)(ξx)(x − a)(x − b)dx .

Keijo Ruotsalainen Matematiikan jaos 6 / 33

Page 7: Numeerinen integrointi ja derivointis-mat-pcs.oulu.fi/~keba/NumMen/numer_kalvot7.pdf · Olkoon f(x) jatkuva funktio, ja g(x) funktio, joka ei vaihda merkkiä integroimisvälillä

Puolisuunnikassäännön virheVäliarvolauseen nojalla (g(x) = (x − a)(x − b) ≤ 0) on ζ ∈ [a, b]s.e.

E1(f ) =1

2f (2)(ζ)

∫ b

a

(x − a)(x − b)dx .

Lause 5.3

Olkoon funktio f (x) kaksi kertaa jatkuvasti derivoituva funktiovälillä [a, b]. Tällöin puolisuunnikassäännön

I1(f ) =b − a

2[f (a) + f (b)]

virhe on

E1(f ) = −1

12(b − a)3f (2)(ζ),

missä ζ ∈ [a, b].

Keijo Ruotsalainen Matematiikan jaos 7 / 33

Page 8: Numeerinen integrointi ja derivointis-mat-pcs.oulu.fi/~keba/NumMen/numer_kalvot7.pdf · Olkoon f(x) jatkuva funktio, ja g(x) funktio, joka ei vaihda merkkiä integroimisvälillä

Simpsonin sääntö

◮ Interpolaatiopisteet x0 = a, x1 = a+b2

, x2 = b

◮ Interpolaatiopolynomi

P2(x) = f (x0)+ f [x0, x1](x−x0)+ f [x0, x1, x2](x−x0)(x−x1).

◮ Integroimalla saadaan Simpsonin sääntö:

I2(f ) =b − a

6[f (a) + 4f (

a + b

2) + f (b)].

◮ Polynomi-interpolaation virhelauseke (x3 = x1 )

f (x) − P2(x) = f [x0, x1, x2](x − x0)(x − x1)(x − x2) +

f (4)(ξx)

4!Π3

j=0(x − xj ),

Keijo Ruotsalainen Matematiikan jaos 8 / 33

Page 9: Numeerinen integrointi ja derivointis-mat-pcs.oulu.fi/~keba/NumMen/numer_kalvot7.pdf · Olkoon f(x) jatkuva funktio, ja g(x) funktio, joka ei vaihda merkkiä integroimisvälillä

Simpsonin säännön virhe

◮ Oikean puolen kolmannen asteen polynomi on pariton välin[x0, x2] keskipisteen suhteen. Joten sen integraali on nolla.

◮ Jäljelle jäävään virhetermiin voidaan soveltaa väliarvolausettaolettaen, että integroitava funktio on neljä kertaa jatkuvastiderivoituva.

◮ virhetermi

E2(f ) =f (4)(ζ)

4!

∫ b

a

Π3

j=0(x − xj)dx = −(b − a)5

2880f (4)(ζ),

missä ζ on joku piste integroimisväliltä.

Keijo Ruotsalainen Matematiikan jaos 9 / 33

Page 10: Numeerinen integrointi ja derivointis-mat-pcs.oulu.fi/~keba/NumMen/numer_kalvot7.pdf · Olkoon f(x) jatkuva funktio, ja g(x) funktio, joka ei vaihda merkkiä integroimisvälillä

Summattu keskipistekaava◮ Integroimisväli [a, b]◮ n on osavälien lukumäärä.◮ Osavälit [ti , ti+1], i = 0, . . . , n − 1, missä

ti = a + ih, h =b − a

n

◮ Integraali I

I =

∫ b

a

f (x)dx =n−1∑

i=0

∫ ti+1

ti

f (x)dx .

◮ Jokaisella osavälillä sovelletaan keskipistekaavaa

∫ b

a

f (x)dx = h

n−1∑

i=0

f (ti +h

2) +

h3

24

n−1∑

i=0

f (2)(ξi ),

missä ξi ∈ [ti ti+1].

Keijo Ruotsalainen Matematiikan jaos 10 / 33

Page 11: Numeerinen integrointi ja derivointis-mat-pcs.oulu.fi/~keba/NumMen/numer_kalvot7.pdf · Olkoon f(x) jatkuva funktio, ja g(x) funktio, joka ei vaihda merkkiä integroimisvälillä

Summatun keskipistekaavan virhe

◮ Oletus: f (x) on kaksi kertaa jatkuvasti derivoituva,

◮ Kaikilla i = 0, . . . , n − 1

minx∈[a, b]

f (2)(x) ≤ f (2)(ξi) ≤ maxx∈[a, b]

f (2)(x).

◮ Näin ollen

n minx∈[a, b]

f (2)(x) ≤

n−1∑

i=0

f (2)(ξi ) ≤ n maxx∈[a, b]

f (2)(x).

◮ Jatkuva funktio saa kaikki arvot suurimman ja pienimmäarvonsa väliltä, niin on olemassa ξ ∈ [a, b] siten, että

1

n

n−1∑

i=0

f (2)(ξi ) = f (2)(ξ).

Keijo Ruotsalainen Matematiikan jaos 11 / 33

Page 12: Numeerinen integrointi ja derivointis-mat-pcs.oulu.fi/~keba/NumMen/numer_kalvot7.pdf · Olkoon f(x) jatkuva funktio, ja g(x) funktio, joka ei vaihda merkkiä integroimisvälillä

Summattu keskipistekaava

lause

Kaksi kertaa jatkuvasti derivoituvan funktion integraali voidaanlaskea summatulla keskipistekaavalla

I0,n = h

n−1∑

i=0

f (ti +h

2),

jonka virhelauseke on

E0,n =h2(b − a)

24f (2)(ξ).

Keijo Ruotsalainen Matematiikan jaos 12 / 33

Page 13: Numeerinen integrointi ja derivointis-mat-pcs.oulu.fi/~keba/NumMen/numer_kalvot7.pdf · Olkoon f(x) jatkuva funktio, ja g(x) funktio, joka ei vaihda merkkiä integroimisvälillä

Summattu puolisuunnikassääntö

◮ Integroimisväli [a, b] jaetaan n:ään osaväliin

[ti , ti+1], i = 0, . . . , n − 1, ti = a + ih, h =b − a

n

◮ Sovelletaan jokaisella osavälillä puolisuunnikassääntöä.

Summattu puolisuunnikassääntö

I1,n =h

2[f (a) + f (b) + 2

n−1∑

i=1

f (ti )]

Virhelauseke on

E1,n = −h2(b − a)

12f (2)(ξ),

missä ξ ∈ [a, b] on väliarvolauseen nojalla määritelty piste.

Keijo Ruotsalainen Matematiikan jaos 13 / 33

Page 14: Numeerinen integrointi ja derivointis-mat-pcs.oulu.fi/~keba/NumMen/numer_kalvot7.pdf · Olkoon f(x) jatkuva funktio, ja g(x) funktio, joka ei vaihda merkkiä integroimisvälillä

Puolisuunnikassäännön koodi

function int=puolis(a,b,n,fun)h=(b-a)/n;x=a:h:b;dim=length(x);y=fun(x);if size(y)==1y=diag(ones(dim))*y;endint=h/2*(y(1)+y(n+1)+2*sum(y(2:n)));return

Keijo Ruotsalainen Matematiikan jaos 14 / 33

Page 15: Numeerinen integrointi ja derivointis-mat-pcs.oulu.fi/~keba/NumMen/numer_kalvot7.pdf · Olkoon f(x) jatkuva funktio, ja g(x) funktio, joka ei vaihda merkkiä integroimisvälillä

Summattu Simpson

◮ Parillinen määrä osavälejä, ts. n=2m.

◮ Sovelletaan Simpsonin sääntöä osaväleillä[t2i , t2i+2], i = 0, . . . , m − 1.

Summattu Simpsonin sääntö

Neljästi jatkuvasti derivoituvalle funktiolle on voimassa summattuSimpsonin sääntö: (n=2m)

I2,n =h

3[f (a) + f (b) + 4

m∑

i=1

f (t2i−1) + 2

m−1∑

i=1

f (t2i )],

jolle on voimassa virhelauseke

E2,n = −h4(b − a)

180f (4)(ζ), ζ ∈ [a, b]

Keijo Ruotsalainen Matematiikan jaos 15 / 33

Page 16: Numeerinen integrointi ja derivointis-mat-pcs.oulu.fi/~keba/NumMen/numer_kalvot7.pdf · Olkoon f(x) jatkuva funktio, ja g(x) funktio, joka ei vaihda merkkiä integroimisvälillä

Simpson-koodi

function int=simpson(a,b,m,fun)

h=(b-a)/m;

x=[a:h/2:b];

dim=length(x);

y=fun(x);

if size(y)==1

y=diag(ones(dim))*y;

end

int=h/6*(y(1)+2*sum(y(3:2:2*m-

1))+4*sum(y(2:2:2*m))+y(2*m+1));

return

Keijo Ruotsalainen Matematiikan jaos 16 / 33

Page 17: Numeerinen integrointi ja derivointis-mat-pcs.oulu.fi/~keba/NumMen/numer_kalvot7.pdf · Olkoon f(x) jatkuva funktio, ja g(x) funktio, joka ei vaihda merkkiä integroimisvälillä

Automaattinen integrointi

◮ Tavoite: Integraalin∫ b

af (x)dx likiarvo annetulla toleranssilla

ǫ

◮ Laskenta-algoritmi tuottaa jonon {Ik(f ), Ek}k=1,...,N , missä◮ Ik on integraalin likiarvo◮ Ek on a posteriori arvio virheelle.

◮ Yhdistetään◮ Interpolaatiokaavat In,m(k), missä m(k) = 2k on käytettävien

osavälien lukumäärä◮ Ekstrapolaatioidea

Keijo Ruotsalainen Matematiikan jaos 17 / 33

Page 18: Numeerinen integrointi ja derivointis-mat-pcs.oulu.fi/~keba/NumMen/numer_kalvot7.pdf · Olkoon f(x) jatkuva funktio, ja g(x) funktio, joka ei vaihda merkkiä integroimisvälillä

A posteriori virheen arviointiKaksinkertaistetaan joka askeleella osavälien lukumäärä:

I = In,m + c(ξ)hn+p

I = In,2m + c(ξ̃)(h

2)n+p = In,2m +

c(ξ̃)

2n+phn+p ,

missä p = 2, kun n on parillinen, ja p = 1, kun n on pariton.

⇒ I − In,2m =c(ξ̃)

2n+phn+p =

c(ξ̃)

c(ξ)

I − In,m

2n+p≈

I − In,m

2n+p.

Ratkaistaan yhtälöstä I ≈2n+p In,2m−In,m

2n+p−1

⇒ I − In,2m ≈2n+p In,2m − In,m

2n+p − 1− In,2, =

In,2m − In,m

2n+p − 1.

A posteriori virhe-arvio:

Ek =|In,m(k+1) − In,m(k)|

2n+p − 1.

Keijo Ruotsalainen Matematiikan jaos 18 / 33

Page 19: Numeerinen integrointi ja derivointis-mat-pcs.oulu.fi/~keba/NumMen/numer_kalvot7.pdf · Olkoon f(x) jatkuva funktio, ja g(x) funktio, joka ei vaihda merkkiä integroimisvälillä

Esimerkki: Automaattinen Simpsoninsääntö

Esimerkki

Laske integraalin I =∫

1

0ln(1 + x)dx likiarvo 4:n desimaalin

tarkkuudella käyttäen automaattista Simpsonin sääntöä.

Ratkaisu:

k = 0 : I2,1 = 1

6[ln(1) + 4 ln(1.5) + ln(2)] = 0.3858346022

k = 1 : I2,2 = 1

12[ln(1) + ln(2) + 4(ln(1.25) + ln(1.75)) + 2 ln(1.5)]

= 0.3862595628

Virhe-arvio : E1 =I2,2−I2,1

15= 0.2833 · 10−4.

Tarkka arvo I = 2 ln(2)− 1 = 0.3862943611.Todellinen virhe I − I2,2 = 0.347983 · 10−4.

Keijo Ruotsalainen Matematiikan jaos 19 / 33

Page 20: Numeerinen integrointi ja derivointis-mat-pcs.oulu.fi/~keba/NumMen/numer_kalvot7.pdf · Olkoon f(x) jatkuva funktio, ja g(x) funktio, joka ei vaihda merkkiä integroimisvälillä

Euler-Maclaurinin summakaava◮ Formaalisen differentiaalioperaattorin

ehD =

∞∑

k=0

(hD)k

k!, D =

d

dx

avulla◮ Funktion f (x) Taylorin kehitelmä:

f (x + h)− f (x) =

∞∑

k=1

(h ddx)k

k!f (x) = [ehD − 1]f (x).

◮ Taylorin kehitelmä xex−1

=∑

k=0

Bk

k! xk . Luvut Bk ovat

Bernoullin lukuja:

B0 = 1, B1 = −1

2, B2 =

1

6, B3 = B5 = B7 = · · · = 0,

B4 = −1

30, B6 =

1

42, B8 = −

1

30, . . .

Keijo Ruotsalainen Matematiikan jaos 20 / 33

Page 21: Numeerinen integrointi ja derivointis-mat-pcs.oulu.fi/~keba/NumMen/numer_kalvot7.pdf · Olkoon f(x) jatkuva funktio, ja g(x) funktio, joka ei vaihda merkkiä integroimisvälillä

Euler-Maclaurinin summakaava

◮ Sileän funktion Taylorin kehitelmä

f (x) = [ehD − 1]−1(f (x + h)− f (x))

=1

hD−1[f (x + h)− f (x)] −

1

2[f (x + h)− f (x)]

+

∞∑

k=1

B2k

(2k)!h2k−1[f (2k−1)(x + h)− f (2k−1)(x)]

◮ Derivoinnin käänteisoperaatio on integrointi, joten

D−1[f (x + h)− f (x)] = D−1[

∫ x+h

x

f ′(t)dt]

=

∫ x+h

x

D−1f ′(t)dt =

∫ x+h

x

f (t)dt

Keijo Ruotsalainen Matematiikan jaos 21 / 33

Page 22: Numeerinen integrointi ja derivointis-mat-pcs.oulu.fi/~keba/NumMen/numer_kalvot7.pdf · Olkoon f(x) jatkuva funktio, ja g(x) funktio, joka ei vaihda merkkiä integroimisvälillä

Euler-Maclaurinin summakaava

◮ Näin saadaan

h

2[f (x + h) + f (x)] =

∫ x+h

x

f (t)dt

+

∞∑

k=1

B2k

(2k)!h2k [f (2k−1)(x + h)− f (2k−1)(x)].

◮ Soveltamalla kehitelmää summatun puolisuunnikassäännönjokaisella osavälillä saadaan Euler-Maclaurinin summakaava:

I1,n(f ) =

∫ b

a

f (x)dx +

∞∑

k=1

ckh2k .

Keijo Ruotsalainen Matematiikan jaos 22 / 33

Page 23: Numeerinen integrointi ja derivointis-mat-pcs.oulu.fi/~keba/NumMen/numer_kalvot7.pdf · Olkoon f(x) jatkuva funktio, ja g(x) funktio, joka ei vaihda merkkiä integroimisvälillä

Ekstrapolaatio

Koska Euler-Maclaurinin summakaava on voimassa kaikille n ∈ N,niin kaksinkertaistetaan osavälien lukumäärä. Tällöin

I1,2n =

∫ b

a

f (x)dx +

∞∑

k=1

ck(h

2)2k

= I + c1

h2

4+ c2

h4

16+ c3

h6

64+ . . .

Näin ollen saadaan integraalin approksimaatio

4I1,2n − I1,n

3= I + c ′2h

4 + c ′3h6 + c ′4h

8 + . . . ,

jonka virheen asymptoottisen kehitelmän johtava termi on h:nneljäs potenssi.

Keijo Ruotsalainen Matematiikan jaos 23 / 33

Page 24: Numeerinen integrointi ja derivointis-mat-pcs.oulu.fi/~keba/NumMen/numer_kalvot7.pdf · Olkoon f(x) jatkuva funktio, ja g(x) funktio, joka ei vaihda merkkiä integroimisvälillä

Rombergin menetelmä

◮ Summattu puolisuunnikassääntö parillisella määrällä osavälejä

Rk,1 = I1,2k−1 , k = 1, 2, 3, 4, . . . .

◮ Kun k − 1 → k , niin osavälin pituus h → h2.

◮ Integraalin I =∫ b

af (x)dx asymptoottiset kehitelmät (k ≥ 2):

I = Rk−1,1 + c1h2 + c2h

4 + c3h6 + c4h

8 + · · ·

I = Rk,1 + c1

h2

4+ c2

h4

16+ c3

h6

64+ c4

h8

256+ · · · .

◮ Ekstrapolaatioaskel:

I =4I − I

3=

4Rk,1 − Rk−1,1

3+ c2h

4 + c3h6 + c4h

8 + · · ·

◮ Asymptoottisessa kehitelmässä geneeriset vakiot c2m

pienenevät

Keijo Ruotsalainen Matematiikan jaos 24 / 33

Page 25: Numeerinen integrointi ja derivointis-mat-pcs.oulu.fi/~keba/NumMen/numer_kalvot7.pdf · Olkoon f(x) jatkuva funktio, ja g(x) funktio, joka ei vaihda merkkiä integroimisvälillä

Romberg◮ Merkitään (k ≥ 2): Rk,2 =

4Rk,1−Rk−1,1

3,

◮ Edellisen nojalla on kehitelmä

I = Rk,2 + c2h4 + c3h

6 + c4h8 + · · · .

◮ Puolittamalla osavälien pituus saadaan kehitelmät

I = Rk−1,2 + c2h4 + c3h

6 + c4h8 + · · ·

I = Rk,2 + c2

h4

16+ c3

h6

64+ c4

h8

256+ · · ·

jokaiselle k ≥ 3.◮ Ekstrapolaatio:

Rk,3 =42Rk,2 − Rk−1,2

42 − 1,

jolle on voimassa virhekehitelmä

I = Rk,3 + c3h6 + c4h

8 + c5h10 + · · · .

Keijo Ruotsalainen Matematiikan jaos 25 / 33

Page 26: Numeerinen integrointi ja derivointis-mat-pcs.oulu.fi/~keba/NumMen/numer_kalvot7.pdf · Olkoon f(x) jatkuva funktio, ja g(x) funktio, joka ei vaihda merkkiä integroimisvälillä

Rombergin menetelmä

Rombergin menetelmä

Rk,1 = I1,2k−1

Rk,j =4j−1Rk,j−1 − Rk−1,j−1

4j−1 − 1, k ≥ j ≥ 2.

Virhekehitelmän johtava termi on

O((1

2)2n−2).

Käytännön laskennassa virhettä kontrolloidaan seuraavallasäännöllä:

Sääntö

Olkoon integroitava funktio on sileä. Tällöin approksimaatiossaRn,n on d oikeata desimaalia, jos |Rn,n − Rn−1,n−1| <

1

210−d , niin

Keijo Ruotsalainen Matematiikan jaos 26 / 33

Page 27: Numeerinen integrointi ja derivointis-mat-pcs.oulu.fi/~keba/NumMen/numer_kalvot7.pdf · Olkoon f(x) jatkuva funktio, ja g(x) funktio, joka ei vaihda merkkiä integroimisvälillä

Rombergin matlab-koodi

function int=romberg(a,b,n,fun)for i = 1 : n + 1R(i , 1) = puolis(a, b, 2(i−1), fun);endfor j = 2 : n + 1for i = j : n + 1R(i , j) = (4(j−1) ∗ R(i , j − 1)− R(i − 1, j − 1))/(4(j−1) − 1);end

endint=R;return

Keijo Ruotsalainen Matematiikan jaos 27 / 33

Page 28: Numeerinen integrointi ja derivointis-mat-pcs.oulu.fi/~keba/NumMen/numer_kalvot7.pdf · Olkoon f(x) jatkuva funktio, ja g(x) funktio, joka ei vaihda merkkiä integroimisvälillä

Esimerkki

Laske integraalin∫

2

1ln(x)dx likiarvo Rombergin menetelmällä.

Ratkaisu

0.3465735902 0 0 00.376019349 0.3858346021 0 00.383699509 0.386259562 0.38628789 00.3856439099 0.3862920434 0.3862942088 0.3862943090

Keijo Ruotsalainen Matematiikan jaos 28 / 33

Page 29: Numeerinen integrointi ja derivointis-mat-pcs.oulu.fi/~keba/NumMen/numer_kalvot7.pdf · Olkoon f(x) jatkuva funktio, ja g(x) funktio, joka ei vaihda merkkiä integroimisvälillä

1. kertaluvun derivaatan approksimaatio

◮ Derivaatan määritelmästä saadaan yksinkertaisinderivointikaava ns. eteenpäin differenssikaava:

f ′(x) =f (x + h)− f (x)

h+ O(h).

◮ Derivaatan approksimaatio on funktion arvojenlineaarikombinaatio pisteen x ympäristössä, kundiskretisointiparametri h oletetaan riittävän pieneksi.

Keijo Ruotsalainen Matematiikan jaos 29 / 33

Page 30: Numeerinen integrointi ja derivointis-mat-pcs.oulu.fi/~keba/NumMen/numer_kalvot7.pdf · Olkoon f(x) jatkuva funktio, ja g(x) funktio, joka ei vaihda merkkiä integroimisvälillä

Keskeisdifferenssikaava

◮ Funktion arvojen f (x + h) ja f (x − h) Taylorin kehitelmätpisteen x ympäristössä:

1 : f (x + h) = f (x) + hf ′(x) +h2

2f ′′(x) +

h3

6f (3)(ξ+)

0 : f (x) = f (x)

−1 : f (x − h) = f (x) − hf ′(x) +h2

2f ′′(x) −

h3

6f (3)(ξ−)

◮ Ratkaistaan yhtälöryhmästä 1. kertaluvun derivaatta. ⇒keskeisdifferenssikaava

f ′(x) =f (x + h)− f (x − h)

2h−

h2

6

f (3)(ξ+) + f (3)(ξ−)

2.

Keijo Ruotsalainen Matematiikan jaos 30 / 33

Page 31: Numeerinen integrointi ja derivointis-mat-pcs.oulu.fi/~keba/NumMen/numer_kalvot7.pdf · Olkoon f(x) jatkuva funktio, ja g(x) funktio, joka ei vaihda merkkiä integroimisvälillä

Keskeisdifferenssikaava

◮ Oletus: Funktion kolmas derivaatta on jatkuva, niindifferentiaalilaskennan väliarvolauseen nojalla on olemassaξ ∈ [x − h, x + h] siten, että

f (3)(ξ) =f (3)(ξ+) + f (3)(ξ−)

2.

◮ Keskeisdifferenssikaavan virhe

f ′(x) −f (x + h)− f (x − h)

2h=

h2

6f (3)(ξ).

Keijo Ruotsalainen Matematiikan jaos 31 / 33

Page 32: Numeerinen integrointi ja derivointis-mat-pcs.oulu.fi/~keba/NumMen/numer_kalvot7.pdf · Olkoon f(x) jatkuva funktio, ja g(x) funktio, joka ei vaihda merkkiä integroimisvälillä

Päätepistekaavat

◮ Funktion f (x) Taylorin kehitelmät pisteissä x + h ja x + 2h:

−3 : f (x) = f (x)

+4 : f (x + h) = f (x) + hf ′(x) + h2

2f ′′(x) + h3

6f (3)(ξ1)

−1 : f (x + 2h) = f (x) + 2hf ′(x) + 2h2f ′′(x) + 8h3

6f (3)(ξ2)

−f (x + 2h) + 4f (x + h)− 3f (x) = 2hf ′(x) + 2h3

3f ′′′(ξ1)−

4h3

3f ′′′(ξ2

◮ Päätepistekaava

f ′(x) =−3f (x) + 4f (x + h)− f (x + 2h)

2h+

h2

3f (3)(ξ),

◮ Piste ξ on valittu väliarvolauseen nojalla siten, että

f (3)(ξ) = 2f ′′′(ξ2)− f ′′′(ξ1).

Keijo Ruotsalainen Matematiikan jaos 32 / 33

Page 33: Numeerinen integrointi ja derivointis-mat-pcs.oulu.fi/~keba/NumMen/numer_kalvot7.pdf · Olkoon f(x) jatkuva funktio, ja g(x) funktio, joka ei vaihda merkkiä integroimisvälillä

Toisen kertaluvun derivaatta

◮ Ratkaistaan Taylorin kehitelmistä

1 : f (x + h) = f (x) + hf ′(x) + h2

2f ′′(x) + h3

6f (3)(x) + h4

24f (4)(ξ+)

−2 : f (x) = f (x)

1 : f (x − h) = f (x)− hf ′(x) + h2

2f ′′(x)− h3

6f (3)(x) + h4

24f (4)(ξ−)

toisen derivaatan lauseke yhtälöryhmän oikealta puolelta.

◮ Tällöin saadaan

f ′′(x) =f (x + h)− 2f (x) + f (x − h)

h2−

h2

12f (4)(ξ),

missä ξ ∈ [x − h, x + h]. Sen olemassaolo riippuu neljännenderivaatan jatkuvuudesta. Tällöin kuten 1. kertaluvunderivaattojen virhearvioiden johtamisessa sovelletaandifferentiaalilaskennan väliarvolausetta.

Keijo Ruotsalainen Matematiikan jaos 33 / 33

Page 34: Numeerinen integrointi ja derivointis-mat-pcs.oulu.fi/~keba/NumMen/numer_kalvot7.pdf · Olkoon f(x) jatkuva funktio, ja g(x) funktio, joka ei vaihda merkkiä integroimisvälillä

Numeerisen derivoinnin stabiilisuus

◮ Numeeriset derivointikaavat herkkiä pyöristysvirheille.

◮ Olkoon f−1 ja f1 funktion f (x) pyöristetyt arvot pisteissä x−1

ja x1: fi − f (xi ) ≈1

210−k , i = −1, 1.

◮ Keskeisdifferenssikaavan todellinen virhe

f ′(x0)−f1 − f−1

2h= ER −

1

6h2f (3)(ξ)

=f (x1)− f1

2h+

f−1 − f (x−1)

2h−

1

6h2f (3)(ξ)

≤1

2h10−k +

1

6h2 max |f (3)(ξ)| ≡ E (h).

◮ Kiinteällä desimaalitarkkuudella k kokonaisvirheen E (h)maksimi kasvaa, kun hilapisteiden välinen erotus h lähestyynollaa. Toisin sanoen pyöristysvirheet alkavat dominoimaanlaskentaa.

Keijo Ruotsalainen Matematiikan jaos 34 / 33