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
Numeriska beräkningar i Naturvetenskap och Teknik
Dagens ämne:
Approximationsproblemet Minstakvadratmetoden
Interpolationsproblemet
Polynomanpassning
Splines
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?
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
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
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
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!
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
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)(
Numeriska beräkningar i Naturvetenskap och Teknik
Matrisformulering: ett exempel
xxf 505.0521.0)(
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...
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)
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!
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
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
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
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:
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
då
Koefficienterna c1, c2, c3, cn bestäms ur
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
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
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
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
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
Numeriska beräkningar i Naturvetenskap och Teknik
Felkällor
1. Mätdata, Ef
0x 1x
fE
f
x
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
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
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
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.
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
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
Numeriska beräkningar i Naturvetenskap och Teknik
4 grad 8 grad
16 grad 6 grad i 9
ptr
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
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
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
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
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:
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!