8925


Całkowanie numeryczne

Wstęp

Należy przybliżyć całkę

0x01 graphic

używając wartości funkcji f w punktach równoległych, przyjmując x0=a, xi=x0+ih, xn=b; stąd n=(b-a)/h


Wzór prostokątów

Polega na przybliżaniu funkcji f(x) funkcjami, które są przedziałami liniowe

0x01 graphic

                                                                            (1)


We wzorze (1) użyto wartości funkcji f w środkach przedziałów (xi-1,xi). Jest to istotne dla uzyskania dobrej dokładności, co widać na poniższym rysunku

0x01 graphic



Wzór trapezów

Podobnie jak wzór prostokątów metoda ta polega na przybliżaniu funkcji f(x) funkcjami, które są przedziałami liniowe

0x01 graphic

                                                (2)


Wykorzystuje on interpolacje liniową w poszczególnych podziałach (xi-1,xi) (i=1,2,...,n).

0x01 graphic


Jeśli U jest jednostką na ostatniej zachowanej pozycji dziesiętnej w wartościach funkcji, to dla obu wymienionych wzorów zachodzi nierówność

0x01 graphic



Błąd obcięcia dla wzorów trapezów

Zarówno dla wzoru prostokątów, jak i dla wzoru trapezów łatwo otrzymać ścisłe oszacowania błędu obcięcia (błędu dyskretyzacji). Załóżmy, że pochodna f"" jest ciągła w [a,b]. Dla jednego kroku wzoru trapezów mamy równość

0x01 graphic

gdzie

0x01 graphic
zależy od x.

Ponieważ jednak (x-xi-1)(x-xi)<0 dla x჎(xi-1,xi), więc z twierdzenia całkowego (w uogólnionej postaci) o wartości średniej wynika, że

0x01 graphic

, gdzie

0x01 graphic


Przyjmując, że x=xi-1+ht, otrzymujemy wzór

0x01 graphic

Globalny błąd obcięcia jest sumą błędów lokalnych. Dla wzorów trapezów

0x01 graphic

gdzie 0x01 graphic


Dla wzorów prostokątów otrzymujemy, korzystając z reszty wzoru Taylora, podobne wyrażenie:

0x01 graphic

Tak więc wzór prostokątów jest dokładniejszy od wzoru trapezów; ten ostatni jednak jest bardziej ekonomiczny, gdy stosuje się ekstrapolacje iterowaną Richardsona.


Metoda Romberga

Należy ona obecnie do najczęściej stosownych, miedzy innymi dlatego, że daje prostą strategię automatycznego wyboru właściwej długości kroku. Zaczyna się od kroku dość dużego i zmniejsza się go dwukrotnie tyle razy, aby ekstrapolacja dała wartości dostatecznie bliskie. Trzeba przy tym sprawdzić, czy zgodność wartości z tej samej kolumny nie jest przypadkowa, tzn. upewnić się czy krok h jest na tyle mały, że uprawnia do użycia rozwinięcia

0x01 graphic

2002 Łukasz Przewoźnik  

Schemat Hornera

Częstym zadaniem rachunkowym jest obliczanie w danym punkcie z wartości wielomianu, np.

p(z)=a0z3+ a1z2+ a2z+ a3

Tę sumę można napisać inaczej, w postaci

p(z)=(( a0z+ a1)z+ a2)z+ a3

a stąd wynika schemat Hornera, który dla obliczeń ręcznych można sformułować tak:

0x01 graphic


Przykład

Obliczyć p(8), gdzie p(x)=2x3+x+7

0x01 graphic

p(8)=1039

Schemat Hornera dla obliczania wartości wielomianu n-tego stopnia,

p(x)=a0xn+ a1xn-1+...+ an-1x+an

w punkcie z wyraża się wzorem rekurencyjnym

b0=a0,         bi=ai+zbi-1        (i=1,2,...,n),     p(z)=bn

Jeśli pośrednie bi nie są interesujące, to w większości języków programowania algorytm można opisać bez wskaźnika w bi, tak jak na poniższym schemacie blokowym

0x01 graphic


Niekiedy jednak wielkości bi mają samoistne znaczenie. Wynika to z następującego twierdzenia o dzieleniu wielomianu przez dwumian (tzw. dzieleniu syntetycznym):

Twierdzenie

Zachodzi równość

0x01 graphic


gdzie bi są określone przez wzór

b0=a0,       bi=ai+zbi-1        (i=1,2,...,n),    p(z)=bn

Dowód. Oznaczamy prawą stronę tej równości symbolem g(x). Wtedy

0x01 graphic


stąd

0x01 graphic


co należało udowodnić.

2002 Łukasz Przewoźnik  

Iteracja

Iteracja jest jednym z najważniejszych narzędzi zaróno praktycznego, jak i teoretycznego badania problemów liniowych i nieliniowych.
Iteracja (z łacińskiego "iteratio", powtarzanie), czyli kolejne przybliżanie oznacza powtarzanie pewnej wzorcowej czynności lub procesu. Iteracja w tym sensie występuje wtedy, gdy wielokrotnie stosuje się jakiś proces numeryczny - być może bardzo złożony i zawierający wiele przykładów użycia iteracji w węższym, niżej opisanym sensie - po to, aby stopniowo ulepszać wcześniejsze wyniki. Aby zilustrować bardziej szczególny użytek z zasady iteracji rozważymy zadanie rozwiązania równania postaci

x=F(x)                                                                                                               (1)

F jest tu funkcją różniczkowalną, której wartości można obliczać dla dowolnej wartości zmiennej rzeczywistej x (z pewnego przedziału). Stosując metodę iteracyjną, zaczynamy od przybliżenia początkowego x0 i obliczamy ciąg

x1=F(x0),      x2=F(x1),      x3=F(x2),     ...

Każde obliczenie typu

xn+1=F(xn)

nazywamy iteracją. Jeżeli ciąg {xn} jest zbieżny do wartości granicznej , to mamy lim F(xn)=F(), czyli x równe  spełnia równanie x=F(x). Gdy n rośnie, spodziewamy się, że liczby xn są coraz lepszymi przybliżeniami szukanego pierwiastka. Iteracja przerywa się po osiągnięciu dostatecznej dokładności.

Interpretacje geometryczną pokazano poniżej

0x01 graphic



Pierwiastek równania (1) jest odciętą (i rzędną) punktu przecięcia krzywej y=F(x) i prostej y=x . Startując z punktu (x0,f(x0)) i używając iteracji, otrzymujemy x1=F(x0); punkt x1 na osi x dostajemy, rysując linie poziomą z punktu (x0,F(x0))=(x0,x1) do przecięcia z prostą y=x w punkcie (x1,x1). Stąd prowadzimy linię pionową do (x1,F(x1))=(x1,x2) itd. Z powyższego rysunku jest oczywiste, że ciąg {xn} jest zbieżny monotonicznie do .

Na rysunku poniżej pokazano przypadek, gdy F jest funkcją malejącą

0x01 graphic



Tym razem zbieżność jest monotoniczna: kolejne przybliżenia xn leżą na przemian po lewej i po prawej stronie pierwiastka .

Istnieją też jednak pzrypadki rozbieżności, pokazane na przykładach poniżej

0x01 graphic

0x01 graphic



Z rysunków tych widać, że wielkością określającą prędkość zbieżności (lub rozbieżności) jest nachylenie krzywej y=F(x) w otoczeniu pierwiastka. Rzeczywiście, z twierdzenia o wartości średniej mamy

0x01 graphic


gdzie n leży między xn-1 i xn. Wobec tego zbieżność jest tym szybsza, im mniejsze jest |f '(x)| w otoczeniu pierwiastka. Zbieżność jest pewna, jeśli |f '(x)|<1 dla każdego x z otoczenia pierwiastka, które zawiera x0 i x1. Jeśli jednak |f '()|>1, to xn dąży do  tylko w bardzo szczególnych przypadkach, niezależnie od tego, jak blisko  wybierze się do x0 (różne do ).


Przykład

Szybka metoda obliczania pierwiastków kwadratowych.

Równanie x2=c można napisać w postaci x=F(x), gdzie

0x01 graphic
             c>0

0x01 graphic



Pierwiastkiem jest =c1/2, jest też f '()=0. Przyjmujemy więc

0x01 graphic


Dla c=2, x0=1.5 otrzymujemy x1=1/2(1.5+2/1.5)=1.4167, x2=1.414216; porównajmy z tym wartość
0x01 graphic


Dobrą wartość dla x0 możemy otrzymać za pomocą suwaka logarytmicznego, ale jak możemy sprawdzić - wystarczy znacznie grubsze przybliżenie. Istotnie, dowodzi się, że jeśli xn ma t cyfr dokładnych, to xn+1 ma takich cyfr co najmniej 2t-1. Powyższą metodę iteracyjną obliczania pierwiastków kwadratowych stosuje się powszechnie i w kalkulatorach kieszonkowych, i w komputerach.

2002 Łukasz Przewoźnik  

Metoda Newtona

Metoda Newtona jest połączeniem idei iteracji i lokalnej aproksymacji liniowej. W tej metodzie iteracyjnej xn+1 jest określone jako odcięta punktu przecięcia z osią x stycznej do krzywej y=f(x) w punkcie (xn,f(xn)).

0x01 graphic



Przybliżanie krzywej y=f(x) styczną do niej w punkcie (x0,f(x0)) jest równoważne zastąpieniu funkcji dwoma początkowymi składnikami jej szeregu Taylora w punkcie x=x0. Odpowiednie przybliżanie dla funkcji wielu zmiennych ma również ważne zastosowania.

Do wyznaczenia xn+1 służy równanie

0x01 graphic


Metodę Newtona określa następujący wzór iteracyjny:

0x01 graphic
            gdzie   0x01 graphic


Iteracje można przerwać, gdy |hn| stało się mniejsze od dopuszczalnego błędu pierwiastka (trzeba tu uwzględnić również błędy zaokrągleń i inne błędy popełniane w obliczaniu hn).

Różnym od kreślenia stycznej sposobem lokalnej aproksymacji krzywej jest wybór dwóch sąsiednich punktów na niej i przybliżanie jej sieczną łączącą te punkty


Przykład

Dana jest funkcja f(x)=sinx-(0.5x)2. Wtedy f '(x)=cosx-0.5x. Chcemy obliczyć dodatni pierwiastek z 5 poprawnymi cyframi ułamkowymi.

Przyjmijmy x0=1.5. Wyniki obliczeń podano w tablicy (jej ostatnią kolumnę można wypełnić dopiero po obliczeniu pierwiastka).

0x01 graphic


Szukanym pierwiastkiem jest 1.93375. Potrzebne były tylko cztery iteracje, mino że początkowe przybliżenie było dość kiepskie. Widzimy też, że |hn| maleje coraz szybciej aż do momentu, gdy zaczynają dominować błędy zaokrągleń.

Oczywiście, gdy przybliżenie jest dalekie od pierwiastka, nie trzeba (w obliczeniach ręcznych) używać zbyt wielu cyfr. W powyższym przykładzie trzeba tylko obliczyć f(xn) z tyloma cyframi ułamkowymi, ile mogłoby być poprawnych w xn+1, gdyby hn obliczono dokładnie. Co ważniejsze, ze zbyt dużą dokładnością obliczano pochodną. Wartość f '(xn) jest tylko środkiem do obliczenia poprawki

0x01 graphic


Dlatego wystarczy obliczać f '(xn) z taką dokładnością względną, z jaką oblicza się f(xn). Ponieważ dokładność względna wartości f(xn) maleje, gdy xn zbliża się do pierwiastka, więc w powyższym przykładzie można by użyć wartości f '(x2) nawet dla n=3 i n=4. Takie uproszczenia mogą być czasem ważne nawet w obliczeniach komputerowych.

Zbieżność metody Newtona

Zakładamy, że funkcje f(x) ma drugą pochodną ciągłą i że szukany pierwiastek  jest pojedynczy. Wobec tego f '()0 i f '(x)0 dla wszystkich x z pewnego otoczenia tego pierwiastka. Niech n będzie błędem przybliżenia xn:

n=xn-

Przy powyższych założeniach możemy otrzymać zależność między n i n+1. Rozwijając funkcję f w szereg Taylora w otoczeniu xn, otrzymujemy

0=f()=f(xn)+(-xn)f '(xn)+0.5(-xn)2f "() gdzie int(xn,)

czyli, po podzieleniu przez f '(xn),

0x01 graphic


Stąd

0x01 graphic


a dla xn

0x01 graphic

2002 Łukasz Przewoźnik  

Metoda Eulera

Metoda Eulera (metoda siecznych) jest najprostszą metodą przybliżoną dla zagadnienia początkowego

0x01 graphic
         0x01 graphic
                                                                      (1)

z warunkiem początkowym

y(x0)=y0

Aby rozwiązać to równanie, musimy znaleźć wartość funkcji y=y(x) w x=x1=x0+h.

0x01 graphic



Załóżmy, że y*1=y(x1) i krzywa (A0A*1) jest rozwiązaniem równania (1). Wykorzystajmy informacje, jakie niesie ze sobą równanie (1). Zauważmy, że znając punkt A0=(x0,y0) (warunek początkowy) możemy policzyć wartość funkcji f w tym punkcie. Jest to współczynnik kierunkowy stycznej do rozwiązania równania (1) w x0. Możemy więc wyznaczyć tę styczną (prosta (A0S0) na rysunku powyżej). Wyznaczmy punkt przecięcia tej stycznej z prostą x=x1, oznaczmy go przez A1=(x1,y1) i przyjmijmy, że y1=y(x1). Przy takim postępowaniu popełnimy błąd w wyznaczaniu wartości y(x1), na rysunku jest on zaznaczony jako błąd metody. Możemy również przypuszczać, że błąd ten będzie malał wraz z h. Zapiszmy sposób liczenia y1 w postaci wzoru. Z trójkąta (A0A1P) mamy

0x01 graphic


a stąd

0x01 graphic
                                                                                         (2)

Chcąc wyznaczyć wartość funkcji y w punkcie x2=x1+h=x0+2h postępujemy analogicznie, tylko zamiast korzystać z warunku początkowego korzystamy z obliczonych uprzednio wartości (x1,y1)=(x1, y(x1)). Uogólniając to postępowanie wzór powyższy zapiszemy jako

yi+1=yi+hf(xi,yi), i=0,1,2,...,                                                                                 (3)

gdzie yi+1 jest wartością funkcji będącej rozwiązaniem równania różniczkowego w xi+1 czyli yi+1=y(xi+1), xi+1=x0+(i+1)h dla i=0,2,...

Metode Eulera możemy skonstruować również w inny sposób. A mianowicie zastąpmy funkcję y=y(x) w x=x0+h jej rozwinięciem w szereg Taylora (zakładamy odpowiednią regularność y).

0x01 graphic


Jeśli w rozwinięciu Taylora wykorzystamy tylko dwa pierwsze człony, to otrzymujemy

0x01 graphic


Otrzymaliśmy zatem wzór (2), a powtarzając takie postępowanie dojdziemy do (3).

Błąd metody

Załóżmy, że znamy wartość dokładną rozwiązania w xi, czyli wartość funkcji y w xi, i wynosi ona y*i=y(xi). W xi+1 rozwiązanie równania różniczkowego przyjmuje wartość z (3)

0x01 graphic
                                                                                         (4)

Z rozwinięcia w szereg Taylora funkcji y w punkcie xi+1 otrzymujemy wartość dokładną rozwiązania w xi+1

0x01 graphic
                                          (5)

Odejmując stronami równania (4) i (5) otrzymujemy błąd lokalny

0x01 graphic


Wielkość  nazywamy błędem lokalnym, ponieważ założyliśmy, że do obliczenia wartości funkcji y w xi+1 wykorzystujemy dokładną wartość tej funkcji w xi. Jeżeli do obliczenia wartości funkcji y w xi+1 wykorzystamy przybliżoną wartość yi, to można wykazać, że błąd całkowity metody E=O(h). Przyjmuje się rząd całkowitego błędu jako rząd metody, czyli metoda Eulera jest rzędu pierwszego.

Błąd metody maleje wraz z odpowiednią potęgą h (dla metody Eulera wraz z h). W dotychczasowych rozważaniach na temat błędu nie uwzględniliśmy nieuniknionego błędu zaokrągleń. Okazuje się, że zmniejszenie kroku h powiększa błędy zaokrągleń. Zależność błędu zaokrągleń i błędu metody do kroku h oraz wynikający z nich błąd sumaryczny są przedstawione poniżej

0x01 graphic


Dla ostatecznie małego h dominującym błędem jest błąd zaokrągleń (nieunikniony). Dalsze zmniejszanie kroku nie będzie poprawiało wyników, może je natomiast pogorszyć.


Przykład

Rozwiązać problem początkowy

0x01 graphic


metodą Eulera. Rozwiązanie ścisłe ma postać

0x01 graphic


Weźmy krok h=0.1. Wartość funkcji y będziemy liczyli dla xi+1=xi+h, i = 0,1,2,...,9 , i = 0 x1 = 0.1

y1 = y0+hf(x0,y0) = y0+h(-y02) = 1+0.1(-12) = 0.9   x2=0.2

y2 = y1+hf(x1,y1) = 0.9+0.1(-0.92) = 0.819

itd.

Wyniki dalszych obliczeń jak i wartości funkcji będącej ścisłym rozwiązaniem zapisane są w poniższej tabeli

i

x

y

y*=1/(1+x)

0

1

2

3

4

5

6

7

8

.1

.2

.3

.4

.5

.6

.7

.8

.9

1.0

.9000000

.8190000

.7519239

.6953850

.6470290

.6051643

.5685419

.5362179

.5074649

.4817129

.9090909

.8333333

.7692307

.7142857

.6666667

.6250000

.5882353

.5555555

.5263157

.4999999


2002 Łukasz Przewoźnik  

Metody typu Runge-Kutty

Zajmiemy się równaniem

0x01 graphic
        0x01 graphic
       y(x0)=y0                                                     (1)

Podobnie jak przy konstrukcji metody Eulera postawmy sobie następujące zadanie: znaleźć wartość funkcji y=y(x), w x=x1=x0+h

0x01 graphic


Załóżmy, że rozwiązanie zadania (1) jest parabolą i skorzystajmy z następującej własności paraboli:

- współczynnik kierunkowy siecznej (A0A1) jest średnią arytmetyczną współczynnika kierunkowego stycznej (A0S0) i stycznej (A1S1).

Współczynnik kierunkowy stycznej (A0S0) umiemy wyznaczyć: jest to f(x0,y0). Wyznaczmy przybliżoną wartość funkcji y, w x=x1 tak, jak to robiliśmy w metodzie Eulera, czyli

0x01 graphic


Teraz możemy wyznaczyć przybliżoną wartość współczynnika kierunkowego stycznej (A1S1), wynosi on

0x01 graphic


Następnie wyznaczmy współczynnik kierunkowej siecznej (A0A1), jest on równy

0x01 graphic


Jest to przybliżona wartość tego współczynnika ze względu na sposób liczenia y1E. Zamiast siecznej (A0A1) mamy sieczną (A0A1'). Z trójkąta A0PA1' policzymy

0x01 graphic

0x01 graphic


Uporządkujemy dotychczasowe rozwiązania wprowadzając oznaczenia

0x01 graphic
                                                       (2)

Wzory (2) są wzorami Runge-Kutty II rzędu. Można wykazać, że całkowity błąd metody jest rzędu O(h2).

Spróbujmy dojść do tych samych wzorów (2) inną drogą i wyprowadzić wzory Runge-Kutty wyższych rzędów. Zapiszmy uogólnienie algebraiczne wzorów (2)

0x01 graphic
                                                                   (3)

Będziemy szukać stałych a,b,c,... , ,,γ,... i w1,w2,w3,... takich, by wartość funkcji y(x) dla x=x1, czyli y1 była możliwie bliska wartości dokładnej. Uzyskamy to rozwijając w szereg Taylora funkcję przybliżoną i ścisłą, żądając zgodności (do wyrazu odpowiedniego rzedu) tych rozwinięć. Wykonajmy obliczenie dla metody Runge-Kutty II rzędu, czyli wartość przybliżoną obliczamy następująco

0x01 graphic
                                                                               (4)

stąd otrzymujemy

0x01 graphic


Zastąpmy f(x0+ah,y0+k1) jej rozwinięciem w szereg Taylora, czyli

0x01 graphic
                                                     (5)

gdzie

0x01 graphic


Z (5) po uporządkowaniu i wstawieniu k1=hf mamy

0x01 graphic
                                                 (6)

Załóżmy, że y0*=y(x0) i y1*=y(x1) są dokładnymi wartościami funkcji y i zapiszmy korzystając z rozwinięcia w szereg Taylora

0x01 graphic
                                             (7)

Żądamy zgodności obu (6, 7) rozwinięć do drugiego wyrazu rozwinięcia w szereg Taylora. Porównajmy więc współczynniki przy h i h2 z obu rozwinięć. Otrzymujemy

w1+w2=1 ,

w2a=1/2 ,

w2=1/2 ,

stąd

0x01 graphic


Mamy więc całą rodzinę wzorów Runge-Kutty II rzędu zależną od parametru a. I tak dla a=1 mamy =1, w1=1/2, w2=1/2, są to wzory (4).

Wartość funkcji y w x=x2=x1+h=x0+2h możemy policzyć stosując (4), o ile (x1, y(x1)=y1) potraktujmy tak, jak warunek początkowy. Czyli ogólnie (4) zapiszemy

0x01 graphic


Wzory wyższych rzędów można otrzymać analogicznie. W poniższej tabeli są zapisane najczęściej używane współczynniki dla metod typu Runge-Kutty rzędu od I do IV

Rząd

metody

P

Stałe

(wzór 3)

w

Wartości

współczynników

k

Nazwa

metody

Błąd

lokalny

Błąd

całkowity

E

1

w1=1

k1=hf(xi,yi)

Eulera

O(h2)

O(h)

2

w1=w2=1/2

k1=hf(xi,yi)

k2=hf(xi+h,yi+k1)

Heuna

O(h3)

O(h2)

3

w1=w3=1/6

w2=2/3

k1=hf(xi,yi)

k2=hf(xi+h/2,yi+k1/2)

k3=hf(xi+h,yi-k1+2k2)

pokrewna metodzie Simsona

O(h4)

O(h3)

4

w1=w4=1/6

w2=w3=1/3

k1=hf(xi,yi)

k2=hf(xi+h/2,yi+k1/2)

k3=hf(xi+h/2,yi+k2/2)

k4=hf(xi+h,yi+k3)

klasyczna metoda Runge-Kutty

O(h5)

O(h4)

Metody typu Runge-Kutty są łatwe do zaprogramowani, zmiana kroku całkowania może być dokonywana w dowolnym etapie obliczeń i nie wymaga dużego nakładu pracy, są metodami samostartującymi, tzn. znajomość warunku początkowego wystarcza, by rozpocząć obliczenia. Wymagają one jednak wielokrotnego (dla metody rzędu p p-krotnego) obliczania wartości funkcji f w każdym kroku całkowania, mogą więc być metodami kosztownymi (zwykle najbardziej czasochłonnymi, a więc i kosztownym zadaniem jest obliczanie wartości funkcji f).


Przykład

Znaleźć rozwiązanie zagadnienia początkowego

y'(x)=x+y

y(0)=1

metodą Runge-Kutty IV rzędu. Obliczenia wykonać dla x჎[0,0.2] z krokiem h=0.1 . Porównać otrzymane wyniki z rozwiązaniem ścisłym y(x)=2ex-x-1.

Wzory Runge-Kutty IV rzędu (patrz (3) i powyższa tabela) mają postać

0x01 graphic


gdzie

0x01 graphic


Dla przypomnienia yi+1=y(xi+1)=y(x0+(i+1)h). Dla i=0 liczymy wartości y1=y(x1)=y(x0+h)=y(0.1). Najpierw policzymy

0x01 graphic


dalej

0x01 graphic


Analogicznie obliczenia przeprowadzamy dla i=1 (czyli dla x2=x0+2h), policzymy y2=y(x2). Policzymy wartości rozwiązania ścisłego dla x=x1 i x=x2 i wyniki tych obliczeń zestawimy w tabeli

i+1

x

y

k=0.1(x+y)

Y(x)=2ex-x-1

0

0

1

 

 

 

0.

0.05

0.05

0.1

1.

1.05

1.055

1.1105

k1=0.1

k2=0.11

k3=0.1105

k4=0.12105

 

1

0.1

1.11034

 

1.1103420

 

0.1

0.15

0.15

0.2

1.11034

1.170857

1.17638285

1.242978285

k1=0.121034

k2=0.13220857

k3=0.132638285

k4=0.1442978285

 

2

0.2

1.242803

 

1.2428055


2002 Łukasz Przewoźnik  

Interpolacja

Niech funkcja f(x) w rozpatrywanym przedziale [a,b] zadana będzie w postaci zbioru dyskretnych wartości

f0=f(x0), f1=f(x1), f2=f(x2), ... , fn=f(xn),

wyznaczonych odpowiednio w (n+1) punktach x0, x1, x2, ...,xn leżących w przedziale [a,b] i zwanych węzłami interpolacji.

Interpolacja funkcji f(x) polega na poszukiwaniu takiej funkcji f*(x), która w punktach xi, i=0,1,2,...,n przyjmuje te same wartości co funkcja f(x), tzn.

f*(xi)=f(xi), i=0,1,2,...,n.

Sformułowane tak ogólnie zagadnienie interpolacji może mieć nieskończenie wiele rozwiązań albo też nie mieć ich wcale. Zagadnienie to natomiast staje się jednoznacznie określone, jeśli zamiast dowolnej funkcji f*(x) szukamy jej w klasie wielomianów określonego stopnia.

Innymi słowy poszukujemy takiego wielomianu Pn(x), zwanego wielomianem interpolacyjnym, stopnia co najwyżej n, który spełnia warunek

Pn(xi)=f(xi), i=0,1,2,...,n.

Zauważmy, że na wielomianach interpolacyjnych łatwo możemy wykonywać niektóre działania algebraiczne, takie jak dodawanie, mnożenie, różniczkowanie, całkowanie itp. W kontekście zastosowania interpolacji szczególnie istotne będzie dla nas całkowanie oraz różniczkowanie.

W interpolacji geometrycznej zadanie interpolacyjne sprowadza się do znalezienia krzywej y=Pn(x) przechodzącej przez punkty (xi,f(xi)), 1=0,1,2,...,n (co widać na rysunku poniżej)

0x01 graphic

Postawienie i rozwiązanie zadania interpolacji ma na celu uzyskanie pewnej informacji o funkcji, np. wyznaczenie wartości w punktach różnych od punktów zadanych, Jak się przekonamy, błąd z jakim potrafimy wyznaczyć wartość funkcji w wybranym punkcie x jest mniejszy, gdy leży on wewnątrz rozpatrywanego przedziału [a,b]. W takim przypadku mówimy o interpolacji funkcji. Jeśli natomiast punkt x leży na zewnątrz tego przedziału, błąd taki jest większy. Wówczas mamy do czynienia z ekstrapolacja funkcji.

2002 Łukasz Przewoźnik  

Aproksymacja

Funkcja aproksymowana f(x) określona może być w różny sposób. W naszych rozważaniach będzie zadana w postaci zbioru dyskretnych wartości f0=f(x0), f1=f(x1), f2=f(x2),..., fm=f(xm), wyznaczonych odpowiednio w punktach x0, x1, x2,..., xm, zwanych węzłami aproksymacji. Dla ustalenia uwagi oznaczmy przez f*(x) funkcję aproksymującą, która przybliża f(x), natomiast przez E(f)=f(x)-f*(x) błąd takiego przybliżenia. W klasycznym przypadku zatem przez aproksymację rozumieć będziemy poszukiwanie, dla danej funkcji f(x), takiej funkcji f*(x), aby przyjęta norma błędu ||E(f)|| była najmniejsza.

Do najczęściej stosowanych norm należą

norma średniokwadratowa

0x01 graphic

oraz norma maksymalna

0x01 graphic


Jak już wspomnieliśmy funkcję f*(x) zapisujemy w postaci liniowej kombinacji n funkcji, które będziemy nazywać funkcjami bazowymi.

Zatem:

f*(x)=c00(x)+c11(x)+ c22(x)+ ... +cnn(x),                                                    (1)

gdzie 0(x),1(x),2(x),...,n(x) są ustalonymi funkcjami bazowymi, c0,c1,c2,...,cn są poszukiwanymi współczynnikami.

Wielomian (1) nazywać będziemy wielomianem aproksymującym.

Jeżeli np. funkcje bazowe są w postaci jednomianów, tj. k(x)=xk dla k=0,1,2,...,n, wtedy

f*(x)=c0+c1x+c2x2+...+cnxn.

W takim przypadku mówimy o aproksymacji za pomocą jednomianów. Natomiast jeśli wybrane funkcje bazowe należą do klasy funkcji trygonometrycznych postaci {sinkx, coskx} lub wykładniczych {ekx}, k=0,1,...,n, to taką aproksymację nazywać będziemy odpowiednio trygonometryczną lub wykładniczą. Zgodnie z powyższym, zagadnienie aproksymacji funkcji f(x) polega na zastąpieniu jej wielomianem aproksymującym f*(x), rozumiane w sensie przyjętej normy ||E(f)||, było jak najmniejsze. Można to osiągnąć, jak się przekonamy, przez odpowiedni dobór w wyrażeniu (1)współczynników c0,c1,c2,...,cn..

Załóżmy, że chcemy określić wartości tych współczynników tak, aby spełniony był warunek

f*(xk)=f(xk),                  dla k=0,1,2,...,m.                                                            (2)

Tzn. aby funkcje aproksymujące i aproksymowana miały te same wartości we wszystkich węzłach aproksymacji. Prowadzi to do układu m+1 równań liniowych z n+1 niewiadomymi
0x01 graphic
                               (3)

Zauważmy, że w tym przypadku nie nakładamy żadnych warunków na zachowanie się funkcji f*(x) poza punktami x0, x1, x2,..., xm. W innym podejściu do rozwiązania zadania aproksymacji możemy zrezygnować z warunku (2), a w zamian za to żądać, aby funkcja f*(x) w całym interesującym nas przedziale przebiegała jak "najbliżej" funkcji f(x). Takie sformułowania zadania przybliżenia funkcji prowadzą do różnych ( w zasadzie trzech) ich typów.

 

  1. Przybliżenie interpolacyjne.

    Jeżeli n=m, to układ (3) ma dokładnie jedno rozwiązanie, a współczynniki c0, c1, c2,..., cn mają takie wartości, aby w punktach x0, x1, x2,..., xm funkcja f(x) była zgodna z funkcją przybliżającą f*(x), tzn. f(xk)=f*(xk), k-0,1,2,...m. Przybliżenie takie nazywamy interpolacją natomiast punkty x0, x1, x2,..., xm węzłami interpolacji. Jeśli m > n, to w ogólności nie jest spełniona równość (2), wtedy układ (3) ma więcej równań niż niewiadomych, o takim układzie mówimy, że jest nieokreślony. W tym przypadku trzeba zadowolić się rozwiązaniem przybliżonym.

  2. Przybliżenie średniokwadratowe (aproksymacja średniokwadratowa).

    Wyrażeniem, którego minimum szukamy jest całka z kwadratu różnicy liczonej między f(x) i jej przybliżeniem f*(x) w zadanym przedziale [a,b] lub sumą kwadratów takich różnic wyznaczoną w dyskretnych punktach x0, x1, x2,..., xm.

  3. Przybliżenie jednostajne (aproksymacja jednostajna)

    Poszukujemy minimum wyrażenia będącego maksymalną różnicą między f(x) a f*(x) w przedziale [a,b] lub w dyskretnych punktach x0, x1, x2,..., xm.


Poniższy rysunek jest ilustracją idei zadania aproksymacji.

0x01 graphic


Zauważmy, że postawienie i rozwiązanie powyższych zagadnień ma na celu uzyskanie pewnej informacji o funkcji, np. wyznaczenie jej wartości w danym punkcie xᄅxk, k=0,1,2,...m.

Weźmy pod uwagę przybliżenie (1.) . Jeżeli punkt x leży wewnątrz zadanego przedziału [a,b], to mówimy o interpolacji. Jeżeli natomiast punkt leży na zewnątrz tego przedziału, to mamy do czynienia z ekstrapolacją. Zwykle błąd interpolacji jest mniejszy niż błąd ekstrapolacji.

Poniższy rysunek przedstawia zakres formułowania tych zadań.

0x01 graphic

2002 Łukasz Przewoźnik  



Wyszukiwarka

Podobne podstrony:
8925
1 2010 05 31 matematyka finansowaid 8925
sciaga 8925
8925
8925
8925

więcej podobnych podstron