36
Numeriska beräkningar i Naturvetenskap och Teknik Dagens ämne: Approximationsproblemet Minstakvadratmetoden Interpolationsproblemet Polynomanpassning Splines

Numeriska ber äkningar i Naturvetenskap och Teknik

  • Upload
    velvet

  • View
    50

  • Download
    4

Embed Size (px)

DESCRIPTION

Numeriska ber äkningar i Naturvetenskap och Teknik. Dagens ämne:. Approximationsproblemet Minstakvadratmetoden Interpolationsproblemet Polynomanpassning Splines. Ett exempel. Numeriska ber äkningar i Naturvetenskap och Teknik. Modell. - PowerPoint PPT Presentation

Citation preview

Page 1: Numeriska ber äkningar i Naturvetenskap och Teknik

Numeriska beräkningar i Naturvetenskap och Teknik

Dagens ämne:

Approximationsproblemet Minstakvadratmetoden

Interpolationsproblemet

Polynomanpassning

Splines

Page 2: Numeriska ber äkningar i Naturvetenskap och Teknik

Numeriska beräkningar i Naturvetenskap och Teknik

Ett exempel

80

70

60

50

40

30

20

T

83.54

48.53

76.51

71.50

60.50

19.50

56.48

)(TfL

T

L

Modell

TccTfL 10)(

20 40 60 80

48

50

52

54

Varför avviker mätvärdena från modellen om modellen är korrekt?

Page 3: Numeriska ber äkningar i Naturvetenskap och Teknik

Numeriska beräkningar i Naturvetenskap och Teknik

Hur bestämma den ‘bästa’ linjen?

T

L

Modell bTaTfL )(

20 40 60 80

48

50

52

54

Page 4: Numeriska ber äkningar i Naturvetenskap och Teknik

Numeriska beräkningar i Naturvetenskap och Teknik

Avstånd mellan linje och mätpunkter...

T

L

20 40 60 80

48

50

52

54

1d

2d3d

4d5d

6d

7d

Page 5: Numeriska ber äkningar i Naturvetenskap och Teknik

Numeriska beräkningar i Naturvetenskap och Teknik

Hur minimera avstånd mellan linje och mätpunkter?

idStörsta avvikelsen så liten som möjligt Approximation i maximum norm

2id

Summan av avvikelserna i kvadrat så liten som möjligt

Approximation i Euklidisk norm

Enklare att beräkna!

Norm

Page 6: Numeriska ber äkningar i Naturvetenskap och Teknik

Numeriska beräkningar i Naturvetenskap och Teknik

Matrisformulering: Ett exempel

3

2

0

1

3

x

9.0

6.0

6.0

9.0

1.2

)(

xf

x

f

xccxf 10)(

9.03

6.02

6.0

9.0

1.23

10

10

0

10

10

cc

cc

c

cc

cc

9.0

6.0

6.0

9.0

1.2

1

1

1

1

1

3

2

0

1

3

1

0

c

c

fAc med

Överbestämt ekvationssystem!

Page 7: Numeriska ber äkningar i Naturvetenskap och Teknik

Numeriska beräkningar i Naturvetenskap och Teknik

Matrisformulering: Ett exempel

9.0

6.0

6.0

9.0

1.2

1

1

1

1

1

3

2

0

1

3

1

0

c

c

fAAcA TT

3

1

1

1

0

1

2

1

3

1

1

1

1

1

1

3

2

0

1

3

1

0

c

c

3

1

1

1

0

1

2

1

3

1

9.0

6.0

6.0

9.0

1.2

Page 8: Numeriska ber äkningar i Naturvetenskap och Teknik

Numeriska beräkningar i Naturvetenskap och Teknik

Matrisformulering: ett exempel

fAAcA TT

23 1

1 5

1

0

c

c

11.1

1.2

1

0

c

c

0.505

521.0

xxf 505.0521.0)(

Page 9: Numeriska ber äkningar i Naturvetenskap och Teknik

Numeriska beräkningar i Naturvetenskap och Teknik

Matrisformulering: ett exempel

xxf 505.0521.0)(

Page 10: Numeriska ber äkningar i Naturvetenskap och Teknik

Numeriska beräkningar i Naturvetenskap och Teknik

Generell formulering:

Beroende på modell kan mätdata förstås besrkrivas av andra

funktionsuttryck än den räta linjen. I generella termer söks en funktion f* som approximerar f’s

givna värden så bra som möjligt i euklidisk norm. Specifikt, ovan söktes en lösning

xccxf 10)(

men man kunde ha sökt en lösning av annan form (ev. för andra data)

)cos()sin()( 10 xcxcxf

etc...

Page 11: Numeriska ber äkningar i Naturvetenskap och Teknik

Numeriska beräkningar i Naturvetenskap och Teknik

Man kan således allmänt skriva:

nncccxf ...)( 1100

f(x) är mao en linjärkombination av givna funktioner

n ,...,, 10 där koefficienterna

nccc ,...,, 10 söks.

Man kan i likhet med ett vektorrum se det som att funktionerna

n ,...,, 10

spänner upp ett funktionsrum (ett rum av denna typ som uppfyller vissa villkor kallas ett Hilbert rum, jmf. kvantmek)

Page 12: Numeriska ber äkningar i Naturvetenskap och Teknik

Numeriska beräkningar i Naturvetenskap och Teknik

I fallet med den räta linjen så är ex.vis

x

1

0 1

I en geometrisk jämförelse så spänner dessa två funktioner, som

kan ses som två vektorer i funktionsrummet, ett plan U:

10

x1

*f

”vektor” 0

”vektor” 1

approximationsfunktion

f sökt funktion

Minsta avståndet från planet ges av en normal . Den minsta

avvikelsen mellan f* och f fås då f*-f är ortogonal mot planet U!

Page 13: Numeriska ber äkningar i Naturvetenskap och Teknik

Numeriska beräkningar i Naturvetenskap och Teknik

Normalekvationerna

Eftersom vi är intresserade av anpassning av m st mätvärden så

kan vi lämna bilden av det kontinuerliga funktionsrummet och

betrakta f(x) som en m dimensionell vektor med värdena:

)(

...

)(

)(

2

1

mxf

xf

xf

)(0

)2(0

)1(0

...m

)(1

)2(1

)1(1

...m

Som skall uttryckas mha

samt0 1f

För den räta linjen:

1

...

1

1

0

mx

x

x

...1

1

1

Page 14: Numeriska ber äkningar i Naturvetenskap och Teknik

Numeriska beräkningar i Naturvetenskap och Teknik

Ortogonalitetskravet ger nu ekvationerna:

0),*(

0),*(

1

0

ff

ff1100* ccf med

0),(

0),(

11100

01100

fcc

fcc

0),(),(),

0),(),(),(

111110(0

00111000

fcc

fcc

),(),(),

),(),(),(

111110(0

00111000

fcc

fcc

Normalekvationerna:

vilket ger

Page 15: Numeriska ber äkningar i Naturvetenskap och Teknik

Numeriska beräkningar i Naturvetenskap och Teknik

),(),(),(

),(),(),(

1111100

0011000

fcc

fcc

Normalekvationerna:

),( ),(

),( ),(

1110

0100

1

0

c

c

),(

),(

1

0

f

f

1

0

. .

. .

. .

. .

. .

. .

10 1

0

c

c

1

0

.

.

.

.

.

.

f

Page 16: Numeriska ber äkningar i Naturvetenskap och Teknik

Numeriska beräkningar i Naturvetenskap och Teknik

Tillbaka till exemplet:

3

2

0

1

3

x

9.0

6.0

6.0

9.0

1.2

)(

xf

xccxf 10)(

1

1

1

1

10

3

2

0

1

3

)(1

x

Modell:

3

2

0

1

3

3 2 0 1- 3 1 1 1 1 1

1

1

1

1

1

1

0

c

c

9.0

6.0

6.0

9.0

1.2

1 1 1 1 1 3 2 0 1- 3

TA A TAc f

Data:

Page 17: Numeriska ber äkningar i Naturvetenskap och Teknik

Numeriska beräkningar i Naturvetenskap och Teknik

Slutsats:

2||*|| ff

minimeras

ff * är ortogonal mot basvektorerna

n ...,, 3,210

under antagande av modellen

nncccccf ...* 33221100

Givet mätdata

f

Koefficienterna c1, c2, c3, cn bestäms ur

Page 18: Numeriska ber äkningar i Naturvetenskap och Teknik

Numeriska beräkningar i Naturvetenskap och Teknik

Normalekvationerna

),(),(...),(),(

...

),( ),(...),(),(

),(),(...),(),(

1100

11111100

00011000

nnnnnn

nn

nn

fccc

fccc

fccc

eller

fAAcA TT

där kolumnerna i A ges av:

n ...,, 3,210

Page 19: Numeriska ber äkningar i Naturvetenskap och Teknik

Numeriska beräkningar i Naturvetenskap och Teknik

Notera 1:

Funktionerna måste vara linjärt oberoende

n ...,, 3,210

(jämför vektorer i ett vektorrum)

Notera 2:

993

994

996

997

999

x

9.0

6.0

6.0

9.0

1.2

)(

xf

Antag att vårt tidigare problem hade varit (x koord -996)

4958111 4979

4979- 5

1

0

c

c

2102.7

1.2

23 1

1 5

1

0

c

c

11.1

1.2

jmf med

Page 20: Numeriska ber äkningar i Naturvetenskap och Teknik

Numeriska beräkningar i Naturvetenskap och Teknik

Gausseliminering i korthet:

1902568116

4464278

101694

2432

4321

4321

4321

4321

xxxx

xxxx

xxxx

xxxx

190256 81 16 1

44 64 27 8 1

10 16 9 4 1

2 4 3 2 1

Page 21: Numeriska ber äkningar i Naturvetenskap och Teknik

Numeriska beräkningar i Naturvetenskap och Teknik

Gausseliminering i korthet:

190256 81 16 1

44 64 27 8 1

10 16 9 4 1

2 4 3 2 1

188 | 252 78 14 0

42 | 60 24 6 0

8 | 12 6 2 0

2 | 4 3 2 1

132 | 168 36 0 0

18 | 24 6 0 0

8 | 12 6 2 0

2 | 4 3 2 1

24 | 24 0 0 0

18 | 24 6 0 0

8 | 12 6 2 0

2 | 4 3 2 1

1

1

1

7 1

3 1

1

6 7 1

3 1

1

Page 22: Numeriska ber äkningar i Naturvetenskap och Teknik

Numeriska beräkningar i Naturvetenskap och Teknik

Approximationen till mätdata antas gå genom datapunkterna, dvs

man har tilltro till att felen i mätdata är små.

)()( 001

010 xx

xx

fffxf

000 )()( fpfphxfxf 0f

1f

Linjär interpolation

Alt vid ekvidistanta data

ph

0x 1xh

5.99 1.5

1.80

0.44 4.19 1.0

0.11 1.36

0.33 2.83 0.5

1.03

1.80 0

f f f f 32 x

Interpolationsproblemet

Page 23: Numeriska ber äkningar i Naturvetenskap och Teknik

Numeriska beräkningar i Naturvetenskap och Teknik

Felkällor

1. Mätdata, Ef

0x 1x

fE

f

x

Page 24: Numeriska ber äkningar i Naturvetenskap och Teknik

Numeriska beräkningar i Naturvetenskap och Teknik

Felkällor

2. Trunkationsfel

0f

1f

ph

0x 1xx5.99 1.5

1.80

0.44 4.19 1.0

0.11 1.36

0.33 2.83 0.5

1.03

1.80 0

f f f f 32 x

Dessa vore noll för ett exakt förstagradspolynom

h

Page 25: Numeriska ber äkningar i Naturvetenskap och Teknik

Numeriska beräkningar i Naturvetenskap och Teknik

Kvadratisk interpolation

Ansats

))(()()( 1020102 xxxxcxxccxQ

00 ffxx 00 cf

11 ffxx )( 01101 xxccf h

f

xx

ffc

)( 01

011

22 ffxx ))(()( 1202202102 xxxxcxxccf

))((

)(

)())(( 1202

02

01

01

1202

022 xxxx

xx

xx

ff

xxxx

ffc

1

2

3

Page 26: Numeriska ber äkningar i Naturvetenskap och Teknik

Numeriska beräkningar i Naturvetenskap och Teknik

Kvadratisk interpolation

2

2

2012

20102

30102

1202

02

01

01

1202

022

22

2

2

22

2

2)()(

))((

)(

)())((

h

f

h

fff

h

ffff

h

hffhff

xxxx

xx

xx

ff

xxxx

ffc

3

h

fppfpfhxxp

h

ffpf

xxxxh

fxx

h

ffxQ

2)1()(

2

))((2

)()(

2

00

2

0

102

2

002

Page 27: Numeriska ber äkningar i Naturvetenskap och Teknik

Numeriska beräkningar i Naturvetenskap och Teknik

Kvadratisk interpolation

Newtons ansats

)(...))((

...

))((

)(

)(

110

102

01

0

mm

m

xxxxxxc

xxxxc

xxc

cxQ

mf

f

f

f

...2

1

0

Entydighet: Det finns bara ett polynom av gradtal m som går genom

m+1 punkter.

Page 28: Numeriska ber äkningar i Naturvetenskap och Teknik

Numeriska beräkningar i Naturvetenskap och Teknik

Felet vid interpolation

)()()( xfelxQxf

))...()(()!1(

)(

)()()(

10

)1(

m

m

m

xxxxxxm

f

xQxfxfel

)1(2

|)(|)1(

2

|)(||))((|

2

|)(|

|)()(|)(''2''

10

''

1

ppfh

hpphf

xxxxf

xQxfxfel

Linjär interpolation

81/4)1/2p01-(2p )1(

2

22 fpp

f

Page 29: Numeriska ber äkningar i Naturvetenskap och Teknik

Numeriska beräkningar i Naturvetenskap och Teknik

Exempel

Interpolation av polynom av gradtal 4,8,16 i ekvidistanta punkter

)91/()( xexf x

Anpassning av polynom av gradtal 6 till 9 ekvidistanta punkter

Page 30: Numeriska ber äkningar i Naturvetenskap och Teknik

Numeriska beräkningar i Naturvetenskap och Teknik

4 grad 8 grad

16 grad 6 grad i 9

ptr

Page 31: Numeriska ber äkningar i Naturvetenskap och Teknik

Numeriska beräkningar i Naturvetenskap och Teknik

Runges fenomen

Interpolation i ekvidistanta punkter med ett polynom av högt

gradtal tenderar att återge en eftersökt kurva bättre inom de

centrala delarna av anpassningsintervallet men ger avsevärda

svängningar nära intervallets ändpunkter!Chebychevpolynom och Chebychevabskissor

Om man kan välja de punker i vilka data är kända (kan vara svårt i en given mätserie) så bör mätpunkterna väljas

tätare i intervallets ändpunkter. Ett optimalt val ges av Chebychevpolynomens nollställen som minimerar resttermen ovan

)21

12cos(

m

ixi

Page 32: Numeriska ber äkningar i Naturvetenskap och Teknik

Numeriska beräkningar i Naturvetenskap och Teknik

Splines

Ett alternativ är att använda ett polynom av lägre ordning styckvis

mellan mätpunkterna. Man kan då ex.vis sätta villkoret att funktions-

värdena, derivatan och andr derivatan är lika i intervallensändpunkter för polynom som möts i dessa punkter. Detta ger

upphovtill s.k. kubiska splines. I ändpunkterna tillkommer kraven ex. vis

att kurvan är rak, dvs har konstant derivata utanför intervallet.

x

f

Page 33: Numeriska ber äkningar i Naturvetenskap och Teknik

Numeriska beräkningar i Naturvetenskap och Teknik

Kubiska splines

iiiiii

iii

iiiii

dcbayY

ayY

tdtctbatY

1

32

)1(

)0(

)(

iiiii

iii

iiii

dcbDY

bDY

tdtcbtY

32)1('

)0('

32)('

1

2

11

11

)(2

2)(3

iiiii

iiiii

ii

ii

DDyyd

DDyyc

Db

ya

Funktion Derivatan

Andraderivatan

tdctY iii 62)(''

]1,0[:t

Page 34: Numeriska ber äkningar i Naturvetenskap och Teknik

Numeriska beräkningar i Naturvetenskap och Teknik

Insättning ger:

311

211

])(2[

]2)(3[)(

tDDyy

tDDyytDytY

iiii

iiiiiii

211

11

])(2[3

]2)(3[2)('

tDDyy

tDDyyDtY

iiii

iiiiii

tDDyyDDyytY iiiiiiiii ])(2[6]2)(3[2)('' 1111

Page 35: Numeriska ber äkningar i Naturvetenskap och Teknik

Numeriska beräkningar i Naturvetenskap och Teknik

Villkoren

)0('')1(''

)0(')1('

)1(

1

1

1

ii

ii

ii

YY

YY

yY

])(2[

]2)(3[

11

1111

iiii

iiiiiii

DDyy

DDyyDyy

])(2[3

]2)(3[2

11

111

iiii

iiiiii

DDyy

DDyyDD

])(2[6]2)(3[2

]2)(3[2

1111

11

iiiiiiii

iiii

DDyyDDyy

DDyy

0)1(''

0)0(''

1

0

nY

Ysam

t

ger tre okända i tre ekvationer:

Page 36: Numeriska ber äkningar i Naturvetenskap och Teknik

Numeriska beräkningar i Naturvetenskap och Teknik

1 2

1 4 1

1 4 1

1 4 1

1 2

....

n

1-n

2

1

0

D

D

D

D

D

)(3

)(3

....

)3(y

)3(y

)3(y

1

2

03

02

01

nn

nn

yy

yy

y

y

y

Skrives detta system i matrisform erh:

Löses enkelt! Testa MATLABs spline funktion själva!