7
Ekstrapolasjon Minste kvadraters metode Implementering lsm@data_D := ModuleB8c1, c2, c3, c4<, n = Length@dataD - 1; c1 = 0; c2 = 0; c3 = 0; c4 = 0; For@i = 0, i £ n, ++i, c1 += x@iD; c2 += x@iD x@iD; c3 += y@iD; c4 += x@iD y@iD; D; g = c1 * c1 - c2 * Hn + 1L; a = c1 * c4 - c2 * c3 g ; b = c1 * c3 - c4 * Hn + 1L g ; Print@"Beste rette linje gjennom datapunktene: y = " + a + b * "x"D F Minste kvadraters metode på matriseform Anta vi har tre observasjoner Hx 0 , y 0 L, Hx 1 , y 1 L, Hx 1 , y 2 L som vi forventer skal ligge på en rett linje. Likningene (1) og (2) med n = 2 kan da skrives: H1 + 1 + 1L a + Hx 0 + x 1 + x 2 L b = y 0 + y 1 + y 2 Hx 0 + x 1 + x 2 L a + Ix 0 2 + x 1 2 + x 2 2 M b = x 0 y 0 + x 1 y 1 + x 2 y 2 Vi sier at likningene er skrevet på normalform. Likningssystemet kan skrives på matriseform: M = 1 + 1 + 1 x 0 + x 1 + x 2 x 0 + x 1 + x 2 x 0 2 + x 1 2 + x 2 2 , u = a b , v = y 0 + y 1 + y 2 x 0 y 0 + x 1 y 1 + x 2 y 2 M.u = v

Minste kvadraters metode oppg fasit - HiOAivarj/mathematica/Numeriske...2 Minste kvadraters metode oppg fasit.nb En ball blir skutt loddrett oppover. Vi observerer posisjonen ved ulike

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Minste kvadraters metode oppg fasit - HiOAivarj/mathematica/Numeriske...2 Minste kvadraters metode oppg fasit.nb En ball blir skutt loddrett oppover. Vi observerer posisjonen ved ulike

Ekstrapolasjon

Minste kvadraters metode

Implementering

lsm@data_D :=

ModuleB8c1, c2, c3, c4<,

n = Length@dataD - 1;

c1 = 0; c2 = 0; c3 = 0; c4 = 0;

For@i = 0, i £ n, ++i,

c1 += x@iD;

c2 += x@iD x@iD;

c3 += y@iD;

c4 += x@iD y@iD;

D;

g = c1 * c1 - c2 * Hn + 1L;

a =c1 * c4 - c2 * c3

g

;

b =c1 * c3 - c4 * Hn + 1L

g

;

Print@"Beste rette linje gjennom datapunktene: y = " + a + b * "x"DF

Minste kvadraters metode på matriseform

Anta vi har tre observasjoner Hx0, y0L, Hx1, y1L, Hx1, y2L som vi forventer skal ligge på en rett linje.

Likningene (1) og (2) med n = 2 kan da

skrives:

H1 + 1 + 1L a + Hx0 + x1 + x2L b = y0 + y1 + y2

Hx0 + x1 + x2L a + Ix02

+ x12

+ x22M b = x0 y0 + x1 y1 + x2 y2

Vi sier at likningene er skrevet på normalform.

Likningssystemet kan skrives på matriseform:

M = 1 + 1 + 1 x0 + x1 + x2

x0 + x1 + x2 x02

+ x12

+ x22

, u = a

b, v =

y0 + y1 + y2

x0 y0 + x1 y1 + x2 y2

Þ M.u = v

Videre er det lurt å definerer ny matrise og nye vektorer:

A =

1 x0

1 x1

1 x2

, x = a

b, y =

y0

y1

y2

.

Den transponerte matrisen til A er gitt ved AT

=1 1 1

x0 x1 x2

.

Vi får følgende resultat:

AT. A = M og A

T. y = v

Vårt likningssystem kan derfor formuleres på formen

M.u = v � AT. A . x = A

T. y

Fordelen med å innføre matrisen A og vektoren y, er at disse er lette å skrive opp. Grunnen er at

de inneholder bare kjente verdier. Vi trenger ikke gjennomføre beregninger for å sette opp A og y.

Metoden lar seg lett generalisere til n målepunkter:

A =

1 x0

1 x1

» »

1 xn

, y =

y0

y1

»

yn

Matrisen AT. A er kvadratisk, og har en invers matrise så sant determinanten er ulik null. Dette gir

oss løsningen

x = a

b = IAT

. AM-1A

T. y

Page 2: Minste kvadraters metode oppg fasit - HiOAivarj/mathematica/Numeriske...2 Minste kvadraters metode oppg fasit.nb En ball blir skutt loddrett oppover. Vi observerer posisjonen ved ulike

Anta vi har tre observasjoner Hx0, y0L, Hx1, y1L, Hx1, y2L som vi forventer skal ligge på en rett linje.

Likningene (1) og (2) med n = 2 kan da

skrives:

H1 + 1 + 1L a + Hx0 + x1 + x2L b = y0 + y1 + y2

Hx0 + x1 + x2L a + Ix02

+ x12

+ x22M b = x0 y0 + x1 y1 + x2 y2

Vi sier at likningene er skrevet på normalform.

Likningssystemet kan skrives på matriseform:

M = 1 + 1 + 1 x0 + x1 + x2

x0 + x1 + x2 x02

+ x12

+ x22

, u = a

b, v =

y0 + y1 + y2

x0 y0 + x1 y1 + x2 y2

Þ M.u = v

Videre er det lurt å definerer ny matrise og nye vektorer:

A =

1 x0

1 x1

1 x2

, x = a

b, y =

y0

y1

y2

.

Den transponerte matrisen til A er gitt ved AT

=1 1 1

x0 x1 x2

.

Vi får følgende resultat:

AT. A = M og A

T. y = v

Vårt likningssystem kan derfor formuleres på formen

M.u = v � AT. A . x = A

T. y

Fordelen med å innføre matrisen A og vektoren y, er at disse er lette å skrive opp. Grunnen er at

de inneholder bare kjente verdier. Vi trenger ikke gjennomføre beregninger for å sette opp A og y.

Metoden lar seg lett generalisere til n målepunkter:

A =

1 x0

1 x1

» »

1 xn

, y =

y0

y1

»

yn

Matrisen AT. A er kvadratisk, og har en invers matrise så sant determinanten er ulik null. Dette gir

oss løsningen

x = a

b = IAT

. AM-1A

T. y

Polynomer av høyere grad

En ball blir skutt loddrett oppover. Vi observerer posisjonen ved ulike tidspunkter. Fra mekanikkpen-

sumet kjenner vi bevegelseslikningen sHtL = v0 t +1

2a t

2 der v0 er starthastighet og a er konstant

akselerasjon. Våre datapunkter skulle derfor teoretisk ligge på en parabel. Vi vil bestemme den

“beste” kurven ved minste kvadraters metode.

Målt verdi er Hti, siL og teoretisk verdi er yi = Α + Β xi + Γ xi2

Χ2Ha, b, cL = Úi=0

n IΑ + Β xi + Γ xi2

- yiM2

¶ Χ2

¶ a= Úi=0

n2 IΑ + Β xi + c xi

2- yiM = 2 Α Úi=0

n1 + 2 Β Úi=0

nxi + 2 ý Úi=0

nxi

2- 2 Úi=0

nyi = 0

Þ ΑHn + 1L + Β Úi=0

nxi + ý Úi=0

nxi

2- Úi=0

nyi = 0 H1L

¶ Χ2

¶ b= Úi=0

n2 IΑ + Β xi + Γ xi

2- yiM xi = 2 Α Úi=0

nxi + 2 b Úi=0

nxi

2+ 2 Γ Úi=0

nxi

3- 2 Úi=0

nxi yi = 0

Þ Α Úi=0

nxi + Β Úi=0

nxi

2+ Γ Úi=0

nxi

3- Úi=0

nxi yi = 0 H2L

¶ Χ2

¶ c= Úi=0

n4 IΑ + Β xi + Γ xi

2- yiM xi

2= 4 Α Úi=0

nxi

2+ 4 Β Úi=0

nxi

3+ 4 Γ Úi=0

nxi

4- 4 Úi=0

nxi

2yi = 0

Þ Α Úi=0

nxi

2+ Β Úi=0

nxi

3+ Γ Úi=0

nxi

4- Úi=0

nxi

2yi = 0 H3L

2 Minste kvadraters metode oppg fasit.nb

Page 3: Minste kvadraters metode oppg fasit - HiOAivarj/mathematica/Numeriske...2 Minste kvadraters metode oppg fasit.nb En ball blir skutt loddrett oppover. Vi observerer posisjonen ved ulike

En ball blir skutt loddrett oppover. Vi observerer posisjonen ved ulike tidspunkter. Fra mekanikkpen-

sumet kjenner vi bevegelseslikningen sHtL = v0 t +1

2a t

2 der v0 er starthastighet og a er konstant

akselerasjon. Våre datapunkter skulle derfor teoretisk ligge på en parabel. Vi vil bestemme den

“beste” kurven ved minste kvadraters metode.

Målt verdi er Hti, siL og teoretisk verdi er yi = Α + Β xi + Γ xi2

Χ2Ha, b, cL = Úi=0

n IΑ + Β xi + Γ xi2

- yiM2

¶ Χ2

¶ a= Úi=0

n2 IΑ + Β xi + c xi

2- yiM = 2 Α Úi=0

n1 + 2 Β Úi=0

nxi + 2 ý Úi=0

nxi

2- 2 Úi=0

nyi = 0

Þ ΑHn + 1L + Β Úi=0

nxi + ý Úi=0

nxi

2- Úi=0

nyi = 0 H1L

¶ Χ2

¶ b= Úi=0

n2 IΑ + Β xi + Γ xi

2- yiM xi = 2 Α Úi=0

nxi + 2 b Úi=0

nxi

2+ 2 Γ Úi=0

nxi

3- 2 Úi=0

nxi yi = 0

Þ Α Úi=0

nxi + Β Úi=0

nxi

2+ Γ Úi=0

nxi

3- Úi=0

nxi yi = 0 H2L

¶ Χ2

¶ c= Úi=0

n4 IΑ + Β xi + Γ xi

2- yiM xi

2= 4 Α Úi=0

nxi

2+ 4 Β Úi=0

nxi

3+ 4 Γ Úi=0

nxi

4- 4 Úi=0

nxi

2yi = 0

Þ Α Úi=0

nxi

2+ Β Úi=0

nxi

3+ Γ Úi=0

nxi

4- Úi=0

nxi

2yi = 0 H3L

Uttrykkene for Α , Β og Γ blir kompliserte, men skriver vi likningssettet (1) -(3) på matriseform og

gjentar resonnementene ovenfor i det lineære tilfellet, finner vi at likningssettet kan skrives:

IAT. A M x = A

T.y der A =

1 x0 x02

1 x1 x12

» » »

1 xn xn2

, x =

Α

Β

Γ

, y =

y0

y1

»

yn

Eksempel

Vi foretar 6 observasjoner av bevegelsen med 3/10 s mellomrom.

data =

880.3, 13.0<, 80.6, 23.1<, 80.9, 33.5<, 81.2, 40.9<, 81.5, 48.6<, 81.8, 54.1<<;

A =

1 0.3 0.32

1 0.6 0.62

1 0.9 0.92

1 1.2 1.22

1 1.5 1.52

1 1.8 1.82

; y =

13.0

23.1

33.5

40.9

48.6

54.1

;

Α

Β

Γ

= Inverse@[email protected]. [email protected]

0.96

41.6452

-6.70635

Startposisjon, startfart og akselerasjon blir:

s0 = Α = 0.96 m

v0 = Β = 41.6 m/s

a = 2 Γ = -13.4 m/s2

Siden |a| > g = 9.81 m/s2 er det rimelig å anta at det også virker luftmotstand. Posisjonen ved tiden

t er derfor gitt ved:

sHtL = 0.96 + 41.6 t -1

213.4 t

2

Uttrykket gjelder bare så lenge ballen er på vei oppover, siden luftmotstanden alltid virker mot

bevegelsen.

Minste kvadraters metode oppg fasit.nb 3

Page 4: Minste kvadraters metode oppg fasit - HiOAivarj/mathematica/Numeriske...2 Minste kvadraters metode oppg fasit.nb En ball blir skutt loddrett oppover. Vi observerer posisjonen ved ulike

Siden |a| > g = 9.81 m/s2 er det rimelig å anta at det også virker luftmotstand. Posisjonen ved tiden

t er derfor gitt ved:

sHtL = 0.96 + 41.6 t -1

213.4 t

2

Uttrykket gjelder bare så lenge ballen er på vei oppover, siden luftmotstanden alltid virker mot

bevegelsen.

lp = ListPlot@data, PlotStyle ® [email protected], Red<, AxesOrigin ® 80, 0<D;

line = PlotA -6.71 t2

+ 41.65 t + 0.96, 8t, 0, 2<, AxesOrigin ® 80, 0<E;

Show@lp, line, AxesLabel ® 8"t", "sL"<, PlotRange ® AllD

0.5 1.0 1.5 2.0

t

10

20

30

40

50

sL

Mathematica har kommandoer som håndterer tilpasning av vilkårlig grad :

FitAdata, 91, t, t2=, tE

-6.70635 t2

+ 41.6452 t + 0.96

Eksponentiell sammenheng

Dersom vi forventer en eksponensiell sammenheng mellom x og y kan vi skrive y = a eb x

. For å

bruke minste kvadraters metode skriver vi om uttrykket ved å ta logaritmen på begge sider:

ln y = ln a + b x

Vi transformerer først dataene fra Hxi, yiL til Hxi, ln yiL. Dermed får vi en lineær sammenheng mellom

ln yi og xi.

Eksempel

xi = Range@5D

81, 2, 3, 4, 5<yi = 83.46, 5.71, 9.41, 15.52, 25.58<;

[email protected], 1.74222, 2.24177, 2.74213, 3.24181<

A =

1 1

1 2

1 3

1 4

1 5

; x = K Α

ΒO; y =

1.24

1.74

2.24

2.74

3.24

;

4 Minste kvadraters metode oppg fasit.nb

Page 5: Minste kvadraters metode oppg fasit - HiOAivarj/mathematica/Numeriske...2 Minste kvadraters metode oppg fasit.nb En ball blir skutt loddrett oppover. Vi observerer posisjonen ved ulike

K Α

ΒO = Inverse@[email protected]. [email protected]

0.74

0.5

Dette gir oss : ln y = Α + Β x = 0.74 + 0.5 x

y = ã0.74

ã0.5 x

= 2.1 ã0.5 x

pts = Transpose@8xi, yi<D;

lp = ListPlot@pts, PlotStyle ® 8Red, [email protected]<D;

pl = PlotA2.1 ã0.5 x

, 8x, 0, 6<E;

Show@lp, pl, PlotRange ® AllD

0 2 3 4 5 6

10

20

30

40

I et logaritmisk plott blir grafen lineær:

llp =

ListLogPlot@pts, PlotStyle ® [email protected], Red<, AxesOrigin ® 80, 0<D;

pl2 = [email protected] x + 0.74, 8x, 0, 6<D;

Show@llp, pl2D

1 2 3 4 5

10.0

5.0

2.0

20.0

3.0

1.5

15.0

7.0

FitBpts, :ExpBx

2

F>, xF

2.0999 ãx�2

Minste kvadraters metode oppg fasit.nb 5

Page 6: Minste kvadraters metode oppg fasit - HiOAivarj/mathematica/Numeriske...2 Minste kvadraters metode oppg fasit.nb En ball blir skutt loddrett oppover. Vi observerer posisjonen ved ulike

Oppgave 1

Bestem regresjonslinja gjennom punktene (1, 6), (2, 2) og (3, 1). Løs oppgaven både med og uten

matriseregning. Estimer y- verdien når x = 2.15. Tegn linjea og punktene i samme graf.

Clear@x, yD

data = 881, 6<, 82, 2<, 83, 1<<;

x@i_D := data @@i + 1, 1DDy@i_D := data@@i + 1, 2DD

lsm@dataD

Beste rette linje gjennom datapunktene: y = -5 x

2

+ 8

y@x_D := -2.5 x + 8

[email protected]

Plottet viser punktene og den beste linjen etter minste kvadraters metode. Punktet (2.15, 2.625)

ligger på linjen.

lp = ListPlot@data, PlotStyle ® [email protected], Red<, AxesOrigin ® 80, 0<D;

line = Plot@ y@xD, 8x, 0, 4<, AxesOrigin ® 80, 0<D;

Show@lp, line, PlotRange ® All,

Epilog ® 8Dashed, Blue, [email protected], 0<, 82.15, 2.625<<D,

[email protected], [email protected], 2.625<D<<D

1 2 3 4

-2

2

4

6

8

A =

1 1

1 2

1 3

; x = K a

bO; y =

6

2

1

;

x = Inverse@[email protected]. [email protected]

8

-5

2

Regresjonslinja: y (x) = a + b x = 8 -2.5 x

6 Minste kvadraters metode oppg fasit.nb

Page 7: Minste kvadraters metode oppg fasit - HiOAivarj/mathematica/Numeriske...2 Minste kvadraters metode oppg fasit.nb En ball blir skutt loddrett oppover. Vi observerer posisjonen ved ulike

Oppgave 2

Bestem et polynom a grad 4 som ekstrapolerer punktene H-1, 5.4<, H0, 3<, 80.5, 0.6L, H1, -0.6L, 81.5, -1.8<, 82, 1.5L.f@x_D = 2.1 x

4- 4.4 x

3+ 1.4 x + 0.3

2.1 x4

- 4.4 x3

+ 1.4 x + 0.3

Plot@f@xD, 8x, -1, 2<D

-1.0 -0.5 0.5 1.0 1.5 2.0

-1

1

2

3

4

5

pts = 88-1, 5.4<, 80, 0.3<, 80.5, 0.6<, 81, -0.6<, 81.5, -1.8<, 82, 1.5<<;

xRange@0,4D

91, x, x2, x

3, x

4=FitApts, x

Range@0,4D, xE

2.09811 x4

- 4.4 x3

+ 0.00377358 x2

+ 1.4062 x + 0.304043

Minste kvadraters metode oppg fasit.nb 7