Zagadnienia

4. Metody dla równań różniczkowych zwyczajnych - rząd schematów

W tym rozdziale zajmiemy się pewnymi własnościami schematów dla równań różniczkowych zwyczajnych. W szczególności przedstawimy pojęcie rzędu schematu oraz zdefiniujemy, co oznacza zbieżność schematu z odpowiednim rzędem.

4.1. Kilka kolejnych schematów

Można postawić pytanie, czy istnieją schematy o wyższej dokładności niż schematy Eulera. Okazuje się, że tak jest i w tym rozdziale przedstawimy kolejne schematy, które dokładniej przybliżają rozwiązanie wyjściowego problemu różniczkowego.

Dość niska dokładność schematów Eulera, którą zaobserwowaliśmy w eksperymentach z rozdziału 3 wynika z tego, że pochodną rozwiązania przybliżyliśmy najprostszym ilorazem różnicowym. W schematach Eulera przybliżamy pochodną poprzez iloraz różnicowy dla parametru h>0 i otrzymujemy:

xt+h-xth-dxdtt=Oh (4.1)

o ile x ma ciągłą drugą pochodną w otoczeniu t.

Jeśli x jest bardziej regularna, to pochodną można przybliżyć dokładniej, np. poprzez iloraz różnicowy centralny (pochodna różnicowa centralna)

xt+h-xt-h2h-dxdtt=Oh2. (4.2)

Dowód pozostawiamy jako zadanie.

Otrzymujemy w ten sposób:

xn+1=xn-1+2hfn (4.3)

czyli schemat kroku środkowego (midpoint) dla (3.1) .

Schemat midpoint, czyli kroku środkowego, jest dwu-krokowy, tzn. że aby obliczyć xn+1 musimy znać xn i xn-1, czyli trzeba znać x0 i x1.

\
Rys. 4.1. Schematy midpoint i Eulera otwarty na odcinku [0,1].
\
Rys. 4.2. Schematy midpoint i Eulera otwarty na odcinku [0,10].

Policzmy przy pomocy tego schematu rozwiązanie zagadnienia początkowego:

dxdt=axx0=1

Na początek weźmy a=1 i porównajmy z rozwiązaniem; za x1 do naszych testów schematu midpoint weźmiemy dokładną wartość rozwiązania: exph, por. rysunek 4.1. Wyraźnie dokładniejszym okazuje się schemat midpoint.

Można się zastanowić, co się stanie na dłuższym odcinku czasu, por. rysunek 4.2. Okazuje się, że schemat midpoint dokładniej działa także w tym przypadku.

Schemat ten nie jest jednak w ogóle używany. W kolejnym rozdziale wyjaśnimy dlaczego.

Inną drogą wprowadzenia nowych schematów jest skorzystanie z rozwinięcia rozwiązania w szereg Taylora: (3.6), tak jak dla schematu Eulera, ale z większą ilością członów. Otrzymujemy w ten sposób np. schemat Taylora:

xt+hxt+dxdtth+12d2xdt2th2
=xt+ft,xth+h22fxt,xtft,xt+ftt,xt.

Skorzystaliśmy tu z tego, że d2xdt2=ddtft,xt=fxt,xtdxdtt+ftt,xt.

Schemat Taylora, a dokładniej schemat Taylora rzędu dwa, wygląda następująco:

xn+1=xn+hfn+h22xfnfn+tfn, (4.4)

gdzie xfn=fxtn,xn i tfn=fttn,xn. W przypadku równania autonomicznego (ft,x=fx) schemat się upraszcza i otrzymujemy:

xn+1=xn+hfn+h22xfnfn.

Proszę zauważyć, że ogólnie xft,x jest macierzą m×m, a tft,x jest wektorem wymiaru m, czyli koszt schematu Taylora w przypadku wielowymiarowym dla m>1 jest dość duży. Musimy obliczyć w każdym kroku dwa wektory tzn. fn i tfn oraz macierz xfn, wymnożyć tę macierz przez fn i przemnożyć odpowiednie wektory przez h,h2 i dodać je do siebie. Możemy w ten sposób tworzyć kolejne schematy Taylora o coraz większej dokładności - jeśli f jest funkcją dostatecznie gładką. Będą to schematy coraz droższe, szczególnie w przypadku dużego wymiaru m.

Na rysunkach 4.3 i 4.4 widać, że podobnie jak dla schematu midpoint, schemat Taylora jest dokładniejszy niż schemat Eulera otwarty.

\
Rys. 4.3. Rozwiązanie dokładne y=y z y0=1, rozwiązanie schematem Taylora i otwartym schematem Eulera na [0,1] z h=0.1.
\
Rys. 4.4. Rozwiązanie dokładne y=y z y0=1, rozwiązanie schematem Taylora i otwartym schematem Eulera na [0,10] z h=0.1.

4.1.1. Zbieżność metod - idea

Błąd schematu (ang. global error) np. Eulera otwartego, czy zamkniętego, czy schematu midpoint zastosowanych do rozwiązywania przybliżonego (3.1) możemy zdefiniować dla ustalonego tt0,T jako

Eht=xnh-xt

dla h=t-t0/n, x rozwiązania (3.1) na t0,T. Zbadajmy, jak zachowuje się błąd Eht wraz ze zmniejszaniem h w ustalonym t. W szczególności, czy maleje do zera.

Popatrzmy, co pokazują eksperymenty - zastosowaliśmy otwarty schemat Eulera z różnymi krokami do policzenia przybliżenia rozwiązania równania dx/dt=x z x0=1 dla czasu t=1, czyli znamy dokładną wartość rozwiązania x1=e. Ustaliliśmy h0=0.5, a następnie kolejno je połowiliśmy tzn. 2-1h0,,2-5h0. Wyniki są w tabeli 4.1.

hotwartyEulermidpointTaylor5.0e-01-4.7e-01-7.8e-02-7.0e-022.5e-01-2.8e-01-2.3e-02-2.4e-021.2e-01-1.5e-01-6.4e-03-6.6e-036.2e-02-8.0e-02-1.7e-03-1.7e-033.1e-02-4.1e-02-4.3e-04-4.4e-041.6e-02-2.1e-02-1.1e-04-1.1e-047.8e-03-1.1e-02-2.7e-05-2.8e-05
Tabela 4.1. Błąd dla schematów: otwartego, Eulera, schematu midpoint i schematu Taylora, przybliżających rozwiązanie dx/dt=x z x0=1 dla t=1 czyli exp1.

Widać, że dla schematu Eulera błąd dla zmniejszonego dwukrotnie h maleje dwukrotnie co sugeruje, że błąd zachowuje się jak Oh, gdy dla schematów midpoint i schematu Taylora błąd maleje czterokrotnie, czyli zachowuje się jak Oh2.

W schemacie midpoint przybliżamy pochodną różnicą centralną, dla której zachodzi:

xt+h-xt-h/2h=dxdtt+Oh2

dla dostatecznie gładkiej funkcji, a w przypadku otwartego schematu Eulera - zwykłym ilorazem różnicowym

xt+h-xt/h=dxdtt+Oh.

Przy konstrukcji schematu Taylora wykorzystujemy więcej członów z rozwinięcia rozwiązania w szereg Taylora (3.6). Każdy dodatkowy człon z szeregu Taylora powinien podwyższyć dokładność danego schematu.

Dlatego też wprowadza się pojęcie rzędu lokalnego błędu schematu (ang. local truncation error), czyli rzędu schematu. Badamy lokalny błąd schematu względem parametru h, jeśli wstawimy za xn dokładną wartość rozwiązania xtn. Najpierw zdefiniujmy samo pojęcie schematu rozwiązywania (3.1), potem zbieżności schematu i rzędu schematu.

Definicja 4.1

Schematem k krokowym rozwiązywania zadania początkowego (3.1) ze stałym krokiem h>0 na odcinku [t0,T]) nazywamy równanie różnicowe:

xn=Φh,tn,xn-k,xn-1,xnnk (4.5)

z warunkami startowymi x0,,xk-1 dla tn=t0+nh. Jeśli Φ nie zależy od xn, to schemat nazywamy otwartym (ang. explicit). W przeciwnym razie - schemat nazywamy zamkniętym (ang. implicit).

Schematy konstruujemy tak, aby dla ustalonego h zachodziło xnxtn.

Definicja 4.2

Niech xC1t0,T rozwiązania zagadnienia początkowego (3.1). Błąd schematu k krokowego postaci (4.5) dla t=t0+nht0,T definiujemy jako

Eht=xnh-xtt=t0+nh,

a błąd globalny (ang. global error) na t0,T jako

Eh=maxn=0,,NEhtnh

dla N=T-t0/h. Schemat jest zbieżny na t0,T, jeśli

Eh0h0,

a jest zbieżny z rzędem p (ang. convergent with order p) (rząd błędu globalnego wynosi p), jeśli dodatkowo

EhChp

dla pewnej stałej C>0 niezależnej od h (zazwyczaj zależnej od rozwiązania x (3.1) i T-t0).

Definicja 4.3

Niech xC1t0,T będzie rozwiązaniem zagadnienia początkowego (3.1). Dla parametru h>0 i schematu k krokowego postaci (4.5) błąd lokalny (ang. local truncation error) definiujemy jako

eh=maxtt0,T-khxt+kh-Φt,,t+kh,xt,,xt+kh.
Definicja 4.4

Schemat (4.5) jest rzędu p (ang. local truncation error is of order p), jeśli dla xCp+1t0,T rozwiązania zagadnienia początkowego (3.1) zachodzi

ehChp+1

dla pewnej dodatniej stałej C niezależnej od h.

Dla otwartego schematu Eulera lokalny błąd schematu jest równy:

eh=maxtt0,T-hxt+h-xt-hft,xt.

Z rozwinięcia w szereg Taylora widzimy, że:

eh=hmaxtt0,T-hxt+h-xth-dxdtt=Oh2

o ile x rozwiązanie (3.1) jest klasy C2, czyli schemat ma rząd jeden. Analogicznie można pokazać, że rząd zamkniętego schematu Eulera jest też jeden, a rząd schematów midpoint i Taylora wynosi dwa. Wykazanie tego, pozostawimy jako zadanie.

4.1.2. Schematy Adamsa

Możemy też wyprowadzić schematy korzystając z równoważnej całkowej wersji zagadnienia początkowego (3.1):

xt+h=xt+tt+hdx/dtsds=xt+tt+hfs,xsds. (4.6)

To prowadzi do konstrukcji całej rodziny schematów (tzw. schematów Adamsa). Jeśli wprowadzimy siatkę równomierną z krokiem h>0, tzn. wprowadzamy tkk=1N dla tkhtk=t0+kh, to możemy przybliżyć wartość rozwiązania xtk zastępując w (4.6) całką z jakiejś aproksymacji funkcji f, którą daje się wyliczyć znając wartości fk=ftk,xk dla ustalonej ilości k=n+1,n,n-1,, np. k=n,n-1,n-2. Wtedy

xn+1=xn+tntn+1Psds,

gdzie Ps jest jakimś wielomianem przybliżającym fs,xs zdefiniowanym poprzez wartości odpowiednie fk dla kn+1.

W przypadku schematów Adamsa, Pt definiujemy jako odpowiedni wielomian interpolacyjny Lagrange'a dla funkcji f z węzłami w punktach tn+j dla j=1,0,-1,.. dla schematu zamkniętego (lub j=0,-1,.. dla schematu otwartego), spełniający odpowiednie warunki interpolacyjne:

Ptn+j=fn+j=ftn+j,xn+j

dla p+1 kolejnych indeksów j1 dla schematów Adamsa zamkniętych i j<1 dla schematów Adamsa otwartych. Wtedy otrzymujemy klasę zamkniętych schematów Adamsa-Moultona postaci:

xn+1=xn+j=-p+11βjfn+j

lub otwartych schematów Adamsa-Bashfortha:

xn+1=xn+j=-p0βjfn+j

Przenumerowując indeksy uzyskujemy schemat zamknięty Adamsa-Moultona p krokowy:

xn+p=xn+p-1+hj=0pβjfn+j

lub otwarty p+1 krokowy Adamsa-Bashfortha:

xn+p+1=xn+p+hj=0pβjfn+j.

Oczywiście w obu przypadkach βj nie zależą od rozwiązania x, ani od f.

W szczególności dla p=1, Pt jest wielomianem interpolacyjnym stałym, zdefiniowanym przez wartość w jednym punkcie odpowiednio tn czy tn-1. Dla

p=1Ps=fn,

otrzymujemy schemat otwarty Eulera:

xn+1=xn+tntn+hfnds=xn+hfn

Biorąc wartość w punkcie tn+1 uzyskujemy schemat zamknięty Eulera. A dla p=2, Ps jest wielomianem liniowym interpolującym f w punktach tn i tn+1. Wtedy otrzymujemy schemat trapezów (ang. trapezoidal scheme):

Ps=h-1tn+1-sfn+s-tnfn+1,

czyli

xn+1=xn+tntn+hPsds=xn+0.5hfn+fn+1. (4.7)

Można pokazać, że schemat trapezów jest rzędu dwa.

W przypadku, gdy punkt tn+1 czyli fn+1 nie jest uwzględniony w definicji Ps tzn. βp+1=0 rozpatrujemy otwarte schematy Adamsa, które też nazywamy schematami Adamsa-Bashforda, np. schemat otwarty Eulera. W przeciwnym przypadku otrzymujemy schematy zamknięte, które nazywamy schematami Adamsa-Moultona: np. schemat zamknięty Eulera lub schemat trapezów.

4.2. Schematy liniowe wielokrokowe

Definicja 4.5

Dla zadania początkowego (3.1) schematem liniowym wielokrokowym (ang. linear multistep) - dokładniej k krokowym dla stałego kroku dla h=T-t0n nazywamy równanie różnicowe:

j=0kαjxn+jh=hj=0kβjfj+nhn0 (4.8)

z αk0 i fjh=ftj,xjh dla tj=t0+jh.

Jeśli βk0, to schemat nazywamy zamkniętym, a w przeciwnym wypadku mówimy o schemacie otwartym.

Jeśli znamy x0h,x1h,,xk-1h to możemy wyliczyć rozwiązanie schematu xjhxtj dla tj=t0+jh i jk (o ile ono istnieje, co w przypadku schematów zamkniętych nie jest oczywiste).

Zgodnie z Definicją 4.4 schemat liniowy k-krokowy ma rząd p1 jeśli dla xCp+1t0,T rozwiązania zagadnienia (3.1) dla t[t0,T]) takich, że t+khT lokalny błąd schematu spełnia

eht:=j=0kαjxt+jh-hj=0kdxdtt+jhChp+1 (4.9)

ze stałą niezależną od C, czyli eh=Ohp+1.

Jeśli za xn weźmiemy wartości rozwiązania w punktach czasu tn, to błąd schematu wynosi Ohp+1 (dla gładkiego rozwiązania).

Oczywiście schematy Adamsa opisane w rozdziale 4.1.2 są szczególnym przypadkiem schematów liniowych wielokrokowych. Tak więc schematy: otwarty i zamknięty Eulera, schemat midpoint, lub schemat trapezów są schematami wielokrokowymi liniowymi - w myśl naszej definicji.

4.3. Schematy jednokrokowe

W tym podrozdziale wprowadzimy pojęcie schematu jednokrokowego:

Definicja 4.6

Dla zadania początkowego (3.1) schematem jednokrokowym dla stałego kroku h=T-t0N nazywamy równanie różnicowe:

xn+1=xn+hϕh,tn,xn,xn+1n=0,,N (4.10)

gdzie tj=t0+jh a ϕ jest funkcją ciągłą określoną na 0,H×t0,T×Ux0×Ux0 dla Ux0 otoczenia x0. Dodatkowo, jeśli ϕ nie zależy od xn+1, to schemat jednokrokowy nazywamy otwartym, a w przeciwnym wypadku mówimy o schemacie zamkniętym.

W przypadku schematów otwartych możemy wyliczyć xn+1 znając xn, natomiast w przypadku schematów zamkniętych musimy rozwiązać liniowy, bądź nieliniowy układ równań. Do tej pory poznaliśmy dwa schematy jednokrokowe (które zarazem są schematami liniowymi wielokrokowymi) - czyli oba schematy Eulera i schemat trapezów.

Analogicznie do przypadku schematów liniowych wielokrokowych, zgodnie z Definicją 4.4, schemat jednokrokowy ma rząd p1, jeśli dla xCp+1t0,T rozwiązania zagadnienia (3.1) dla 1p, h=T-t0N i t[t0,T]) lokalny błąd schematu spełnia:

eht:=xt+h-xt-hϕh,t,dxdtt,dxdtt+hChp+1,

ze stałą C niezależną od t, czyli eh=Ohp+1 dla dostatecznie gładkiego rozwiązania.

4.3.1. Schematy Rungego-Kutty

Podstawową klasą schematów jednokrokowych są tzw. schematy Rungego-Kutty lub - mówiąc krótko - schematy Rungego. Idea ich jest prosta.

Załóżmy, że znamy xn, i chcemy wyliczyć wartość xn+1 ze wzoru uwzględniającego wartość pola wektorowego nie tylko w xn, ale również w dodatkowym punkcie x~. Wtedy

xn+1=Fh,tn,xn,x~.

Biorąc schemat otwarty Eulera z krokiem h~ otrzymujemy punkt

x~=xn+h~ft,xt,

który, jak wiemy, przybliża xt+h~, ale niedokładnie. Możemy policzyć wartość pola wektorowego f w tym punkcie i następnie, wykorzystując wartość yn=ftn,xn i y~=ftn+h~,x~, znaleźć lepsze przybliżenie xtn+1 - czyli np. za przybliżenie pola wektorowego wziąć ważoną średnią obu wartości byn+cy~ dla pewnych ustalonych wag b,c. Możliwości jest wiele. Pojawia się pytanie: jak oceniać różne konstrukcje F? Można tak dobierać F, aby rząd schematu był możliwie duży.

Załóżmy, że h~=ah. Wtedy szukamy schematu postaci:

xn+1=xn+bhfn+chftn+ah,xn+ahftn,xn (4.11)

tak, aby schemat miał maksymalny rząd.

Rozwijamy rozwiązanie x w szereg Taylora:

xt+h-xt=hdxdtt+0.5h2d2xdt2t+Oh3

i rozwijając ostatni z członów (4.11) w punkcie t,x otrzymujemy:

ft+ah,x+ahft,x=f+ahfxf+ahft
=f+ahfxf+ft
=dxdt+ahd2xdt2.

Skorzystaliśmy z tego, że d2xdt2=ddtft,xt=fxf+ft. Zatem, wstawiając dwa ostatnie równania do (4.11) otrzymujemy warunki na to, aby schemat był rzędu dwa:

b+c=1
ca=0.5
\
Rys. 4.5. Schemat Heuna w porównaniu ze schematem otwartym Eulera na [0,1] z h=0.1.
\
Rys. 4.6. Zmodyfikowany schemat Euler w porównaniu ze schematem otwartym Eulera na [0,1] z h=0.1.

Tak więc otrzymaliśmy całą rodzinę schematów Rungego-Kutty rzędu dwa, np.:

  1. Zmodyfikowany schemat Eulera

    xn+1=xn+hftn+h2,xn+h2fn (4.12)

    dla c=1,b=0,a=0.5,

  2. Schemat Heuna

    xn+1=xn+h2fn+ftn+1,xn+hfn, (4.13)

    dla b=c=0.5;a=1.

Warto zauważyć, że w niektórych publikacjach wszystkie schematy otwarte Rungego-Kutty rzędu dwa nazywane są zmodyfikowanym schematem Eulera.

\
Rys. 4.7. Schemat Heuna na [0,100] i expt. Wykres dla t bliskich 100.

Na rysunkach 4.6 i 4.5 pokazano rozwiązania uzyskane tymi dwoma schematami dla zadania dx/dt=x z x0=1 na 0,1. Widać, że wykresy się pokrywają z wykresem rozwiązania. W porównaniu do otwartego schematu Eulera widzimy znaczącą poprawę. Zobaczmy, co się dzieje na dłuższym odcinku czasu w przypadku schematu Heuna, por. rysunek 4.7.

4.3.1.1. Graficzne wytłumaczenie zmodyfikowanego schematu Eulera

Na rysunku 4.8 zawarliśmy graficzne wytłumaczenie jednego kroku zmodyfikowanego schematu Eulera.

\
Rys. 4.8. Graficzne wytłumaczenie zmodyfikowanego schematu Eulera.

Punkt A - oznacza t,x, czyli wcześniej obliczone przybliżenie dla czasu t. Chcemy wyznaczyć przybliżenie dla czasu t+h. Otwarty schemat Eulera w jednym kroku przyjmuje za różnicę między kolejnymi punktami hft,x, czyli idzie w kierunku pola wektorowego w punkcie t, czyli na naszym rysunku daje to punkt C. Z kolei w zmodyfikowanym schemacie Eulera przyjmujemy za różnicę h pomnożone przez kierunek pola wyznaczonego w dodatkowym pomocniczym punkcie x=x+0.5fn oznaczonym jako B, tzn. idziemy w kierunku ft+0.5h,x i otrzymujemy w efekcie punkt D.

Na rysunku widać, że jeśli nachylenie pola wektorowego mocno się zmienia, to pole w punkcie B powinno mieć lepszy kierunek niż w A, czy w E. Jest to oczywiście argument heurystyczny.

\
Rys. 4.9. Schematy Rungego rzędu cztery i schemat Heuna rzędu dwa na 0,1.
\
Rys. 4.10. Schematy Rungego rzędu cztery i schemat Heuna rzędu dwa na 0,50 w skali pół-logarytmicznej.

Analogicznie konstruuje się schematy Rungego wyższych rzędów poprzez wprowadzenie większej ilości kroków pośrednich, jak również schematy zamknięte Rungego - dopuszczając wartość fn+1 w schemacie.

Podamy kilka wzorów na powszechnie używany otwarty schemat Rungego-Kutty czwartego rzędu.

Najpierw definiujemy cztery wartości:

K1=ftn,xnK2=ftn+h2,xn+h2K1K3=ftn+h2,xn+h2K2K4=ftn+h,xn+hK3 (4.14)

i otrzymujemy ostateczny wzór:

xn+1=xn+h6K1+2K2+2K3+K4 (4.15)

schematu rzędu cztery (co oczywiście wymaga dowodu).

Istnieje oczywiście cała rodzina otwartych schematów Rungego-Kutty rzędu cztery. Tu podaliśmy tylko przykładowy schemat z tej rodziny.

Popatrzmy jak działa ten schemat w porównaniu ze schematem Heuna dla naszego modelowego zagadnienia dx/dt=x z x0=1.

Na odcinku 0,1 dla h=0.1 oba schematy praktycznie pokrywają się z rozwiązaniem, por. rysunek 4.9.

\
Rys. 4.11. Schematy Rungego rzędu cztery i schemat Heuna rzędu dwa na 44,50.

Na rysunku 4.10 widać wykresy rozwiązań na 0,50 (w skali pół-logarytmicznej), a na rysunku 4.11 wykres na odcinku 44,50 - tu już widać, że schemat rzędu cztery jest jednak znacznie lepszy.

W rozdziale 5.4 przedstawimy metodę eksperymentalną badania rzędu schematu. Przy okazji zobaczymy ogromną różnicę w dokładności obu schematów, por. Tabela 5.2.

4.4. Zadania

Ćwiczenie 4.1

Udowodnij, że wzory (4.1) i (4.2) są prawdziwe dla funkcji dostatecznie gładkich.

Wskazówka: 

Rozwiń funkcje w szereg Taylora.

Ćwiczenie 4.2

Pokaż, że rząd schematów Eulera wynosi jeden, o ile rozwiązanie zadania Cauchy'ego jest klasy C2.

Ćwiczenie 4.3

Pokaż, że rząd schematu kroku środkowego wynosi k, o ile rozwiązanie zadania Cauchy'ego jest klasy Ck+1 dla k=1,2.

Ćwiczenie 4.4

Znajdź rząd schematu Taylora (4.4) dla rozwiązania dostatecznie gładkiego.

Ćwiczenie 4.5

Znajdź wzór na schemat Taylora rzędu trzy.

Ćwiczenie 4.6

Rozpatrzmy rodzinę schematów:

xn+1=xn+hafn+bfn+1

Określ rząd schematu w zależności od wartości parametrów a,b. Dla jakich a,b rząd jest największy? Dla jakich wartości parametrów schemat będzie zamknięty, a dla jakich otwarty?

Ćwiczenie 4.7

Wyprowadź otwarty dwukrokowy schemat Adamsa bazujący na wielomianie interpolacyjnym stopnia jeden (żeby policzyć xn+2 potrzebujemy h,tn,xn+1, fn i fn+1, tak jak opisano w rozdziale 4.1.2). Zbadaj rząd schematu.

Rozwiązanie: 

Zgodnie z zasadą konstrukcji schematów Adamsa musimy scałkować na odcinku tn,tn+h wielomian liniowy interpolacyjny P1s=fn+1-hfn-fn-1s-tn. Otrzymujemy schemat xn+1=xn+0.5h3fn-fn-1.

Ćwiczenie 4.8

Wyprowadź otwarty trzykrokowy schemat Adamsa bazujący na wielomianie interpolacyjnym stopnia dwa (żeby policzyć xn+3 potrzebujemy h,tn,xn+2 i fn,fn+1,fn+2, tak jak opisano w rozdziale 4.1.2). Zbadaj rząd schematu.

Ćwiczenie 4.9

Wyprowadź zamknięty dwukrokowy schemat Adamsa bazujący na wielomianie interpolacyjnym stopnia dwa (żeby policzyć xn+2 potrzebujemy h,tn,xn+1 i fn,fn+1,fn+2, tak jak opisano w rozdziale 4.1.2). Zbadaj rząd schematu.

Ćwiczenie 4.10 (średnio trudne)

Rozpatrzmy rodzinę schematów:

xn+2=xn+1+hafn+bfn+1+cfn+2.

Określ rząd schematu w zależności od wartości parametrów a,b,c. Dla jakich wartości rząd jest największy? Dla jakich wartości parametrów schemat będzie zamknięty, a dla jakich otwarty?

Ćwiczenie 4.11 (trudne)

Udowodnij, że schemat (4.15) ma rząd cztery.

Ćwiczenie 4.12 (laboratoryjne)

Zbadaj eksperymentalnie metodą połowienia kroków rząd lokalnego błędu schematu dla schematów:

  • otwartego schematu Eulera (3.4),

  • zamkniętego schematu Eulera (3.5),

  • schematu midpoint (4.3),

  • schematu Taylora (4.4),

  • schematu Heuna (4.13),

  • schematu trapezów (4.7),

  • zmodyfikowanego schematu Eulera (4.12),

  • schematu Rungego rzędu cztery (4.15).

zastosowanych do modelowego zadania dxdt=1+x2 z x0=0 z rozwiązaniem xt=tant. Tzn. dla ustalonego t, np. t=1 i kolejnych połowionych kroków hk=hk-12=2-kh0 z h0=1e-1 liczymy lokalny błąd schematu ehkt, por. (4.9), i następnie stosunek ehktehk+1t. Jeśliby ten stosunek wynosił w przybliżeniu 2p+1, to lokalny błąd schematu zachowuje się jak Ohp+1, oznacza to, że schemat posiada rząd p przynajmniej dla tego zadania początkowego.

Treść automatycznie generowana z plików źródłowych LaTeXa za pomocą oprogramowania wykorzystującego LaTeXML.

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego.

Projekt współfinansowany przez Ministerstwo Nauki i Szkolnictwa Wyższego i przez Uniwersytet Warszawski.