praca domowa MENUM 18 12 2013 06 51

background image

1

Praca domowa

Metody numeryczne

Kamil Żyłko

Wydział Inżynierii Produkcji

Automatyka i robotyka

Studia magisterskie stacjonarne

Warszawa 2013

background image

2

1.

Treść zadania Z90.

Dana jest funkcja zadana poniższą tablicą:

gdzie x

i

jest argumentem funkcji a f(x

i

) jej wartością, i=1,…, 21. Wyznacz:

a)

wielomiany interpolacyjne Newtona i Lagrange’a szóstego stopnia w przedziale [-1.5 , 1.5],

b)

wielomian interpolacyjny składający się z funkcji sklejanych trzeciego i/lub czwartego stopnia

na przedziale [-5, 5].

Przedstaw graficznie na jednym wykresie wielomiany z punktów a) i b). Porównaj błąd interpolacji w
przedziale [-1,5, 1,5].

2.

Opis metod numerycznych wykorzystanych do rozwiązania zadania.

Interpolacja stosowana jest w celu określenia wartości funkcji między znanymi punktami jej

przebiegu. Stosuje się przybliżanie funkcji za pomocą wielomianu odpowiednio wysokiego stopnia.

Można to wyznaczyć dzięki znanym wartościom funkcji w danych punktach. Tych znanych punktów

jest n+1, natomiast wyznaczany wielomian może być stopnia co najwyżej n.

a)

Metoda Newtona

Wielomian interpolacyjny metodą Newtona można zapisać jako:

ݓሺݔሻ = ෍ ܽ

௜ୀ଴

ෑሺݔ − ݔ

௜ିଵ

௝ୀ଴

= ܽ

+ ܽ

ሺݔ − ݔ

ሻ + ܽ

ሺݔ − ݔ

ሻሺݔ − ݔ

ሻ + ⋯ + ܽ

ሺݔ − ݔ

௡ିଵ

ሻ … ሺݔ − ݔ

ሻሺݔ − ݔ

Do wyznaczenia wielomianu można wykorzystać metodę interpolacji Newtona. W związku z tym,

że należy wyznaczyć wielomian w przedziale [-1.5 , 1.5], a punkty x

i

są w równych odległościach,

należy zastosować wzory interpolacyjne Newtona dla równoodległych wartości argumentu.

x

i

-5

-4,5

-4

-3,5

-3

-2,5

-2

f(x

i

)

1,536098

2,318505

3,663004

6,12323

10,98901

21,59244

47,61905

x

i

-1,5

-1

-0,5

0

0,5

1

1,5

f(x

i

)

120,3008

333,3333

761,9048

1000

761,9048

333,3333

120,3008

x

i

2

2,5

3

3,5

4

4,5

5

f(x

i

)

47,61905

21,59244

10,98901

6,12323

3,663004

2,318505

1,536098

background image

3

W pierwszej kolejności mając dane wartości funkcji dla argumentów będących w równych

odległościach wyznacza się różnice między wartościami funkcji dla argumentów sąsiadujących ze

sobą. Można zapisać to jako:

∆ݕ

= ݕ

− ݕ

∆ݕ

= ݕ

− ݕ

…………………………..

∆ݕ

௡ିଵ

= ݕ

− ݕ

௡ିଵ

Następnie wylicza się różnice między wyznaczonymi przed chwilą różnicami:

ݕ

= ∆ݕ

− ∆ݕ

ݕ

= ∆ݕ

− ∆ݕ

………………….

ݕ

௡ିଶ

= ∆ݕ

௡ିଵ

− ∆ݕ

௡ିଶ

Powyższą czynność powtarza się aż do momentu, w którym zostaną wyliczone wszystkie różnice

różnic i nie będzie możliwości wyznaczenia kolejnej. Ostatnia wyznaczona różnica zapisana jest jako:

ݕ

= ∆

௡ିଵ

ݕ

− ∆

௡ିଵ

ݕ

௡ି௡ିଵ

Po wyliczeniu różnic należy przejść do wyznaczania wielomianu opisanego wzorem:

ܹ݊ሺݔሻ = ݕ

+ ݍ ∗ ∆ݕ

+

ݍሺݍ − 1ሻ ∗ ∆

ݕ

2!

+ ⋯ +

ݍሺݍ − 1ሻ … ൫ݍ − ሺ݊ − 1ሻ൯ ∗ ∆

ݕ

݊!

ݍ =

ݔ

ݔ

− ݔ

b)

Metoda Lagrange’a

Wielomian interpolacyjny metodą Lagrange’a można zapisać jako:

ݓ

ሺݔሻ = ෍ ݂ሺݔ

௝ୀ଴

ሻ݈

ሺݔሻ

= ෍ ݂ሺݔ

௝ୀ଴

ሻ ∗

ሺݔ − ݔ

ሻሺݔ − ݔ

ሻ … ൫ݔ − ݔ

௝ିଵ

൯൫ݔ − ݔ

௝ାଵ

൯ … ሺݔ − ݔ

൫ݔ

− ݔ

൯൫ݔ

− ݔ

൯ … ൫ݔ

− ݔ

௝ିଵ

൯൫ݔ

− ݔ

௝ାଵ

൯ … ൫ݔ

− ݔ

c)

Interpolacja za pomocą funkcji sklejanych

Niech f(x)

∈ C <a;b>. s(x) ∈ S

3

(

n

) jest funkcją sklejaną stopnia trzeciego dla funkcji f(x) jeżeli

s(x

i

)=f(x

i

)=y

i.

Interpolacja funkcjami sklejanymi polega na podziale przedziału <a;b> na tyle kolejnych

przedziałów, aby każdy z nich zawierał najwyżej kilka argumentów. Punkty wspólne

background image

4

utworzonych przedziałów nazywane są węzłami interpolacji. W tym samym węźle, czyli

stanowiącym początek jednego przedziału i koniec drugiego przedziału funkcja musi

przyjmować takie same wartości.

W każdym z tych przedziałów interpoluje się funkcję wielomianem interpolacyjnym.

3.

Obliczenia numeryczne metodami:

a)

Newtona

W związku z tym, że argumenty funkcji są równoodległe oraz dlatego, że wartości

przyjmowane przez funkcję są takie same dla argumentów ze znakiem + i ze znakiem –

należy wyznaczyć wielomian metodą Newtona dla równoodległych wartości argumentu

jedynie dla argumentów od 0 do +1,5.

W tym przedziale podane są 4 argumenty, więc wyznaczony wielomian będzie miał

postać trzeciego stopnia.

x

y

∆y

y

y

0

1000

-238.0952

0.5

761.9048

-190.4763

-428.5715

406.0153

1

333.3333

215.539

-213.0325

1.5

120.3008

ܹ݊ሺݔሻ = ݕ

+ ݍ ∗ ∆ݕ

+

ݍሺݍ − 1ሻ ∗ ∆

ݕ

2!

+

ݍሺݍ − 1ሻሺݍ − 2ሻ ∗ ∆

ݕ

3!

=

= 1000 + ݍ ∗ −238.0952 +

ݍሺݍ − 1ሻ ∗ −190.4763

2!

+

ݍሺݍ − 1ሻሺݍ − 2ሻ ∗ 406.0153

3!

=

= 1000 + ݍ ∗ −238.0952 + ݍሺݍ − 1ሻ ∗ −95.23815 + ݍሺݍ − 1ሻሺݍ − 2ሻ ∗ 67.66921667

ݍ =

ݔ

ݔ

− ݔ

=

ݔ

0.5 = 2ݔ

Po podstawieniu do wzoru

ܹ݊ሺݔሻ wartości 2x zamiast q otrzymujemy:

ܹሺݔሻ

= 2ݔሺ2ݔ − 1ሻሺ2ݔ − 2ሻ67.66921667 + 2ݔሺ2ݔ − 1ሻሺ−95.23815ሻ

+ 2ݔሺ−238.0952ሻ + 1000 =

= ሺ4ݔ

− 2ݔሻሺ2ݔ − 2ሻ67.66921667 + ሺ4ݔ

− 2ݔሻሺ−95.23815ሻ − 476.1904ݔ + 1000 =

= ሺ8ݔ

− 8ݔ

− 4ݔ

+ 4ݔሻ67.66921667 − 380.9526ݔ

+ 190.4763ݔ − 476.1904ݔ + 1000 =

= 541.3537334ݔ

− 541.3537334ݔ

− 270.6768667ݔ

+ 270.6768667ݔ − 380.9526ݔ

− 285.7141ݔ + 1000 =

= 541.3537334ݔ

− 1192.9832ݔ

− 15.0372333ݔ + 1000

background image

5

Ze względu na to, że wartości przyjmowane przez funkcję są takie same dla argumentów ze

znakiem + i ze znakiem -, postać wielomianu wyznaczonego metodą Newtona jest następująca:

W(x)=

|541.3537334ݔ

| − |1192.9832ݔ

| − |15.0372333ݔ| + 1000

b)

Lagrange’a

x

0

0.5

1

1.5

y

1000

761.9048

333.3333

120.3008

ݓ

ሺݔሻ = ෍ ݂ሺݔ

௝ୀ଴

ሻ݈

ሺݔሻ

= ෍ ݂ሺݔ

௝ୀ଴

ሻ ∗

ሺݔ − ݔ

ሻሺݔ − ݔ

ሻ … ൫ݔ − ݔ

௝ିଵ

൯൫ݔ − ݔ

௝ାଵ

൯ … ሺݔ − ݔ

൫ݔ

− ݔ

൯൫ݔ

− ݔ

൯ … ൫ݔ

− ݔ

௝ିଵ

൯൫ݔ

− ݔ

௝ାଵ

൯ … ൫ݔ

− ݔ

=

= 1000 ∗

ሺݔ − 0.5ሻሺݔ − 1ሻሺݔ − 1.5ሻ

ሺ0 − 0.5ሻሺ0 − 1ሻሺ0 − 1.5ሻ +

+761.9048 ∗

ሺݔ − 0ሻሺݔ − 1ሻሺݔ − 1.5ሻ

ሺ0.5 − 0ሻሺ0.5 − 1ሻሺ0.5 − 1.5ሻ +

+333.3333 ∗

ሺݔ − 0ሻሺݔ − 0.5ሻሺݔ − 1.5ሻ

ሺ1 − 0ሻሺ1 − 0.5ሻሺ1 − 1.5ሻ +

+120.3008 ∗

ሺݔ − 0ሻሺݔ − 0.5ሻሺݔ − 1ሻ

ሺ1.5 − 0ሻሺ1.5 − 0.5ሻሺ1.5 − 1ሻ =

= ሺ1000ݔ − 500ሻ ∗

ሺݔ − 1ሻሺݔ − 1.5ሻ

0.5ሺ−1.5ሻ

+

+761.9048ݔ ∗

ሺݔ − 1ሻሺݔ − 1.5ሻ

−0.5ሺ−0.5ሻ +

+333.3333ݔ ∗

ሺݔ − 0.5ሻሺݔ − 1.5ሻ

0.5ሺ−0.5ሻ

+

+120.3008ݔ ∗

ሺݔ − 0.5ሻሺݔ − 1ሻ

1.5ሺ0.5ሻ

=

= ሺ1000ݔ

− 1500ݔ + 500ሻ ∗

ሺݔ − 1.5ሻ

−0.75 +

+ሺ761.9048ݔ

− 761.9048ݔሻ ∗

ሺݔ − 1.5ሻ

0.25 +

+ሺ333.3333ݔ

− 166.66665ݔሻ ∗

ሺݔ − 1.5ሻ

−0.25 +

+ሺ120.3008ݔ

− 60.1504ݔሻ ∗

ሺݔ − 1ሻ

0.75 =

= −1333.333333ݔ

+ 4000ݔ

− 3666.666667ݔ + 1000 +

+3047.6192ݔ

− 3047.6192ݔ

− 4571.4288ݔ

+ 4571.4288ݔ −

−1333.3332ݔ

+ 666.6666ݔ

+ 1999.9998ݔ

− 999.9999ݔ +

+160.4010667ݔ

− 80.20053333ݔ

− 160.4010667ݔ

+ 80.20053333ݔ =

= 541.3537337ݔ

− 1192.9832ݔ

− 15.03723367ݔ + 1000

background image

6

Powyższa postać wielomianu ma tylko zastosowanie dla funkcji w przedziale [0, 1.5] z kolei

dla funkcji w przedziale [-1.5, 1.5]:

ݓ

ሺݔሻ = |541.3537337ݔ

| − |1192.9832ݔ

| − |15.03723367ݔ| + 1000

c)

funkcji sklejanych

W przedziale [-5;5] znane są wartości funkcji dla 21 argumentów. W związku z tym można

dokonać podziału na 6 przedziałów, w dwóch z nich wyznaczone zostaną wielomiany

czwartego stopnia, zaś w czterech z nich wielomiany trzeciego stopnia.

Tak więc będą to przedziały: [-5;-3], [-3;-1.5], [-1.5;0], [0;1.5], [1.5;3], [3;5].

Interpolacja funkcji w przedziale [-5;-3]

x

-5

-4.5

-4

-3.5

-3

y

1,536098

2,318505

3,663004

6,12323

10,98901

ݓ

ሺݔሻ = ෍ ݂ሺݔ

௝ୀ଴

ሻ݈

ሺݔሻ

= ෍ ݂ሺݔ

௝ୀ଴

ሻ ∗

ሺݔ − ݔ

ሻሺݔ − ݔ

ሻ … ൫ݔ − ݔ

௝ିଵ

൯൫ݔ − ݔ

௝ାଵ

൯ … ሺݔ − ݔ

൫ݔ

− ݔ

൯൫ݔ

− ݔ

൯ … ൫ݔ

− ݔ

௝ିଵ

൯൫ݔ

− ݔ

௝ାଵ

൯ … ൫ݔ

− ݔ

=

= 1.536098 ∗

ሺݔ + 4.5ሻሺݔ + 4ሻሺݔ + 3.5ሻሺݔ + 3ሻ

ሺ−5 + 4.5ሻሺ−5 + 4ሻሺ−5 + 3.5ሻሺ−5 + 3ሻ +

+2.318505 ∗

ሺݔ + 4ሻሺݔ + 3.5ሻሺݔ + 3ሻሺݔ + 5ሻ

ሺ−4.5 + 4ሻሺ−4.5 + 3.5ሻሺ−4.5 + 3ሻሺ−4.5 + 5ሻ +

+3.663004 ∗

ሺݔ + 3.5ሻሺݔ + 3ሻሺݔ + 5ሻሺݔ + 4.5ሻ

ሺ−4 + 3.5ሻሺ−4 + 3ሻሺ−4 + 5ሻሺ−4 + 4.5ሻ +

+6.12323 ∗

ሺݔ + 3ሻሺݔ + 5ሻሺݔ + 4.5ሻሺݔ + 4ሻ

ሺ−3.5 + 3ሻሺ−3.5 + 5ሻሺ−3.5 + 4.5ሻሺ−3.5 + 4ሻ +

+10.98901 ∗

ሺݔ + 3ሻሺݔ + 5ሻሺݔ + 4.5ሻሺݔ + 4ሻ

ሺ−3.5 + 3ሻሺ−3.5 + 5ሻሺ−3.5 + 4.5ሻሺ−3.5 + 4ሻ =

= ሺ1.536098ݔ

+ 13.056833ݔ + 27.649764ሻ ∗

ሺݔ + 3.5ሻሺݔ + 3ሻ

1.5

+

+ሺ2.318505ݔ

+ 17.3887875ݔ + 32.45907ሻ ∗

ሺݔ + 3ሻሺݔ + 5ሻ

−0.375

+

+ሺ3.663004ݔ

+ 23.809526ݔ + 38.461542ሻ ∗

ሺݔ + 5ሻሺݔ + 4.5ሻ

0.25

+

+ሺ6.12323ݔ

+ 30.61615ݔ + 91.84845ሻ ∗

ሺݔ + 4.5ሻሺݔ + 4ሻ

−0.375

+

+ሺ10.98901ݔ

+ 87.91208ݔ + 164.83515ሻ ∗

ሺݔ + 4.5ሻሺݔ + 4ሻ

−0.375

=

= ሺ1.536098ݔ

+ 9.984637ݔ

+ 16.129029ݔ

+ 13.056833ݔ

+ 84.8694145ݔ

+ 137.0967465ݔ + 27.649764ݔ

+ 179.723466ݔ + 290.322522ሻ ∗

1

1.5 +

background image

7

+ሺ2.318505ݔ

+ 18.54804ݔ

+ 34.777575ݔ

+ 17.3887875ݔ

+ 139.1103ݔ

+ 260.8318125ݔ + 32.45907ݔ

+ 259.67256ݔ + 486.88605ሻ ∗

1

−0.375 +

+ሺ3.663004ݔ

+ 34.798538ݔ

+ 82.41759ݔ

+ 23.809526ݔ

+ 226.190497ݔ

+ 535.714335ݔ + 38.461542ݔ

+ 365.384649ݔ + 865.384695ሻ ∗

1

0.25 +

+ሺ6.12323ݔ

+ 52.047455ݔ

+ 110.21814ݔ

+ 30.61615ݔ

+ 260.237275ݔ

+ 551.0907ݔ + 91.84845ݔ

+ 780.711825ݔ + 1653.2721ሻ ∗

1

−0.375 +

+ሺ10.98901ݔ

+ 93.406585ݔ

+ 197.80218ݔ

+ 87.91208ݔ

+ 747.25268ݔ

+ 1582.41744ݔ + 164.83515ݔ

+ 1401.098775ݔ + 2967.0327ሻ

1

−0.375 =

= 1.024065333ݔ

+ 15.36098ݔ

+ 85.76547167ݔ

+ 211.213475ݔ + 193.548348 +

−6.18268ݔ

− 95.83154ݔ

− 550.25852ݔ

− 1388.01166ݔ − 1298.3628 +

+14.652016ݔ

+ 234.432256ݔ

+ 1388.278516ݔ

+ 3604.395936ݔ + 3461.53878 +

−16.32861333ݔ

− 220.43628ݔ

− 1232.810307ݔ

− 3551.4734ݔ − 4408.7256 +

−29.30402667ݔ

− 483.51644ݔ

− 2959.706693ݔ

− 7956.04324ݔ − 7912.0872ሻ =

= −36.13923867ݔ

− 549.991024ݔ

− 3268.731532ݔ

− 9079.918889ݔ

− 9964.088472

Interpolacja funkcji w przedziale [0;1.5]

x

0

0,5

1

1,5

y

1000

761,9048

333,3333

120,3008

ݓ

ሺݔሻ = ෍ ݂ሺݔ

௝ୀ଴

ሻ݈

ሺݔሻ

= ෍ ݂ሺݔ

௝ୀ଴

ሻ ∗

ሺݔ − ݔ

ሻሺݔ − ݔ

ሻ … ൫ݔ − ݔ

௝ିଵ

൯൫ݔ − ݔ

௝ାଵ

൯ … ሺݔ − ݔ

൫ݔ

− ݔ

൯൫ݔ

− ݔ

൯ … ൫ݔ

− ݔ

௝ିଵ

൯൫ݔ

− ݔ

௝ାଵ

൯ … ൫ݔ

− ݔ

=

= 1000 ∗

ሺݔ − 0.5ሻሺݔ − 1ሻሺݔ − 1.5ሻ

ሺ0 − 0.5ሻሺ0 − 1ሻሺ0 − 1.5ሻ +

+761.9048 ∗

ሺݔ − 0ሻሺݔ − 1ሻሺݔ − 1.5ሻ

ሺ0.5 − 0ሻሺ0.5 − 1ሻሺ0.5 − 1.5ሻ +

+333.3333 ∗

ሺݔ − 0ሻሺݔ − 0.5ሻሺݔ − 1.5ሻ

ሺ1 − 0ሻሺ1 − 0.5ሻሺ1 − 1.5ሻ +

+120.3008 ∗

ሺݔ − 0ሻሺݔ − 0.5ሻሺݔ − 1ሻ

ሺ1.5 − 0ሻሺ1.5 − 0.5ሻሺ1.5 − 1ሻ =

= ሺ1000ݔ − 500ሻ ∗

ሺݔ − 1ሻሺݔ − 1.5ሻ

0.5ሺ−1.5ሻ

+

+761.9048ݔ ∗

ሺݔ − 1ሻሺݔ − 1.5ሻ

−0.5ሺ−0.5ሻ +

+333.3333ݔ ∗

ሺݔ − 0.5ሻሺݔ − 1.5ሻ

0.5ሺ−0.5ሻ

+

+120.3008ݔ ∗

ሺݔ − 0.5ሻሺݔ − 1ሻ

1.5ሺ0.5ሻ

=

background image

8

= ሺ1000ݔ

− 1500ݔ + 500ሻ ∗

ሺݔ − 1.5ሻ

−0.75 +

+ሺ761.9048ݔ

− 761.9048ݔሻ ∗

ሺݔ − 1.5ሻ

0.25 +

+ሺ333.3333ݔ

− 166.66665ݔሻ ∗

ሺݔ − 1.5ሻ

−0.25 +

+ሺ120.3008ݔ

− 60.1504ݔሻ ∗

ሺݔ − 1ሻ

0.75 =

= −1333.333333ݔ

+ 4000ݔ

− 3666.666667ݔ + 1000 +

+3047.6192ݔ

− 3047.6192ݔ

− 4571.4288ݔ

+ 4571.4288ݔ −

−1333.3332ݔ

+ 666.6666ݔ

+ 1999.9998ݔ

− 999.9999ݔ +

+160.4010667ݔ

− 80.20053333ݔ

− 160.4010667ݔ

+ 80.20053333ݔ =

= 541.3537337ݔ

− 1192.9832ݔ

− 15.03723367ݔ + 1000

W programie Matlab możliwe jest graficzne przedstawienie rozwiązania metodą funkcji sklejanych.

Umożliwia to wpisanie następujących komend:

x = -5:5;

y = [1.536098 3.663004 10.98901 47.61905 333.3333 1000 333.3333 47.61905 10.98901 3.663004

1.536098];

cs = spline(x,[0 y 0]);

xx = linspace(-5,5,101);

plot(x,y,'o',xx,ppval(cs,xx),'-');

4.

Graficzna prezentacja wyników

Rozwiązanie metodą funkcji sklejanych wygląda następująco, po wykonaniu w programie Matlab:

background image

9

Rozwiązanie metodą Newtona wygląda z kolei następująco:

5.

Przedstawienie otrzymanych wyników

Wielomian wyznaczony metodą Newtona ma postać:

ܹሺݔሻ = |541.3537334ݔ

| − |1192.9832ݔ

| − |15.0372333ݔ| + 1000

Z kolei wyznaczony metodą Lagrange’a:

ݓ

ሺݔሻ = |541.3537337ݔ

| − |1192.9832ݔ

| − |15.03723367ݔ| + 1000

0

200

400

600

800

1000

1200

-6

-4

-2

0

2

4

6

background image

10

Na podstawie powyższych wielomianów można wyznaczyć błąd interpolacji. Do jego określenia

można ustalić wartości jakie przyjmują funkcje dla argumentu wynoszącego: 0.1

Dla wielomianu wyznaczonego metodą Newtona wynosi ona 987,1077984034.

Dla wielomianu wyznaczonego metodą Lagrange’a wynosi ona 987,1077983667.

Błąd interpolacji liczymy więc następująco:

ߝ =

ሺଽ଼଻,ଵ଴଻଻ଽ଼ସ଴ଷସିଽ଼଻,ଵ଴଻଻ଽ଼ଷ଺଺଻ሻ

ଽ଼଻,ଵ଴଻଻ଽ଼ସ଴ଷସ

=1.013060581*10^-10


Wyszukiwarka

Podobne podstrony:
Fizjologia roślin (18.12.2013), Semestr III, Fizjologia Roślin, Wykłady
48 Praca organiczna Jay Friedman Organize ! 2013 06 09
C5 (X7) B1HD0105P0 17 18 12 2013 Sprawdzenie Układ zasilania paliwem pod wysokim ciśnieniem (Mo
Promocja praca domowa 12 11 15 Nieznany
18 12 06 Magdy
cwiczenia 1 18.10.2007 praca domowa b, cwiczenia - dr januszkiewicz
06 12 2013 Wykład
Egzamin MT 2013 06 12 rea
MPLP 378;379 06.07.;18.07.2013
cwiczenia 1 18.10.2007 praca domowa, cwiczenia - dr januszkiewicz
Tabela ocen - Word - Praca domowa na 06.02.2008, Informatyka
Java praca domowa 06
18 12 06 ja
2013 06 18 Gender na KUL
2013 06 18 Kobiety w armii USA
12 18 01 2013
18 12 06 Magdy

więcej podobnych podstron