Definicja 13.13.
Ciąg określony w dowodzie twierdzenia Picarda
{x1(t)=x0+∫tt0f(s,x0)dsx2(t)=x0+∫tt0f(s,x1(s))dsx3(t)=x0+∫tt0f(s,x2(s))ds⋮xn+1(t)=x0+∫tt0f(s,xn(s))ds⋮
nazywamy ciągiem kolejnych
przybliżeń Picarda.
Większość metod numerycznych świetnie radzi sobie z wyznaczaniem przybliżonych rozwiązań równań różniczkowych, pod jednym jednak warunkiem: problem Cauchy'ego musi mieć jednoznaczne rozwiązanie. Nie będziemy rozwijać tego zagadnienia, prześledźmy jednak praktyczną realizację metody zawartej w dowodzie twierdzenia Picarda.
Przykład 13.14.
Wyznaczmy metodą Picarda rozwiązanie problemu Cauchy'ego
{x′(t) =x(t)x(0)=1.
Zgodnie z określeniem ciągu Picarda mamy
x1=1+∫t0ds=1+tx2=1+∫t0(1+s)ds=1+t+12t2x3=1+∫t0(1+s+12s2)ds=1+t+12t2+16t3x4=1+∫t0(1+s+12s2+16s3)ds=1+t+12t2+16t3+124t4⋮xn=1+∫t0(∑n−1k=0skk!)ds=∑nk=0tkk!xn+1=1+∫t0(∑nk=0skk!)ds=∑n+1k=0tkk!⋮
Jak łatwo zauważyć n-ty wyraz ciągu Picarda jest identyczny z n-tą sumą częściową szeregu definiującego funkcję wykładniczą
expt=∞∑k=0tnn!=1+t+12t2+16t3+124t4+⋯+1n!tn+…
Ciąg xn zmierza więc do funkcji x(t)=expt, która jest
jedynym rozwiązaniem danego problemu Cauchy'ego.
Leonhard Euler (1707-1783)
Prześledźmy także na tym samym przykładzie inną metodę przybliżonego rozwiązywania problemu Cauchy'ego, zwaną metodą łamanych Eulera.
Uwaga 13.15.
Przypomnijmy, że na początku wykładu, omawiając proces stygnięcia (ogrzewania) substancji, zastąpiliśmy iloraz różnicowy
x(t+h)−x(t)h≈−λ(x(t)−x∗), x(t0)=x0,
równaniem różniczkowym
dxdt(t) =−λ(x(t)−x∗), x(t0)=x0.
Odwróćmy teraz kolejność postępowania i lewą stronę równania różniczkowego w postaci normalnej
dxdt=f(t,x), x(t0)=x0
zastąpmy ilorazem różnicowym
x(t+h)−x(t)h≈f(t,x).
Stąd x(t+h)≈x(t)+f(t,x)h.
Podzielmy przedział od t0 do t na n równych części punktami
tk:=t0+kn(t−t0), k=0,1,2,…,n.
Określmy (skończony) ciąg punktów xk następująco:
{x0=x(t0)x1=x0+f(t0,x0)hx2=x1+f(t1,x1)hx3=x2+f(t2,x2)h⋮xk+1=xk+f(tk,xk)h⋮xn=xn−1+f(tn−1,xn−1)h,
biorąc stały przyrost h=tn:
h=t1−t0=t2−t1=t3−t2=⋯=tk+1−tk=⋯=tn−tn−1.
Wówczas xk stanowi przybliżoną wartość rozwiązania równania w chwili tk, tj. xk≈x(tk). Im gęściej podzielimy przedział od t0 do t za pomocą punktów tk (tzn. gdy n jest dużą liczbą), tym przybliżenie to jest lepsze. Łamaną, łączącą punkty (tk,xk) nazywamy łamaną Eulera. Stanowi ona przybliżenie wykresu t↦x(t) rozwiązania danego
problemu Cauchy'ego w przedziale od t0 do t.
Przykład 13.16.
Zastosujmy opisany algorytm do znalezienia przybliżonej wartości rozwiązania problemu Cauchy'ego:
{x′(t) =x(t)x(0)=1,
który rozwiązaliśmy już metodą kolejnych przybliżeń Picarda. Określamy kolejne węzły łamanej Eulera:
x0=x(t0)=1x1=x0+f(t0,x0)h=1+hx2=x1+f(t1,x1)h=1+h+(1+h)h=(1+h)2x3=x2+f(t2,x2)h=(1+h)2+(1+h)2h=(1+h)3⋮xk+1=xk+f(tk,xk)h=(1+h)k+(1+h)kh=(1+h)k+1⋮xn=xn−1+f(tn−1,xn−1)h=(1+h)n
Biorąc pod uwagę, że h=tn, otrzymujemy
xn=(1+tn)n.
Stąd xn(t)≈expt, gdyż ciąg (1+tn)n zmierza do expt, gdy n→∞.
Uwaga 13.17.
Metody przybliżone rozwiązywania równań różniczkowych są ważnym narzędziem ze względu na fakt, że wielu równań (co można wykazać) nie da się rozwiązać za pomocą metod dokładnych, w tym sensie, że nie istnieje algorytm o skończonej liczbie kroków,
którego wynikiem byłoby dokładne rozwiązanie równania.
Można na przykład wykazać, że nie da się wyrazić za pomocą skończonej liczby operacji na funkcjach elementarnych całek z funkcji
exp(−x2), sinxx, 1lnx.
i wielu innych. Funkcje te pojawiają się w wielu ważnych zagadnieniach nauki, np. funkcja dana za pomocą całki oznaczonej
Φ(x)=1√2π∫x−∞exp(−12t2)dt
jest dystrybuantą rozkładu normalnego, jednego z najważniejszych rozkładów prawdopodobieństwa, który służy do modelowania wielu zjawisk w biologii, ekonomii i in.
Wracając do teorii równań różniczkowych, można na przykład wykazać, że nie da się elementarnie rozwiązać równania
x′=x2−t
(przykład tego prostego równania podaje W.I.Arnold, Równania różniczkowe zwyczajne, Państwowe Wydawnictwo Naukowe, Warszawa 1975, s. 40). Zauważmy jednak, że funkcja f(t,x)=x2−t spełnia założenia twierdzenia Picarda w przedziałach −∞<t<∞, −∞<x<∞, a więc problem początkowy Cauchy'ego dla tego równania ma rozwiązanie i jest ono jedyne przy dowolnym warunku początkowym.
W kolejnym module dokonujemy przeglądu wybranych typów równań różniczkowych zwyczajnych, które można rozwiązać w sposób dokładny za pomocą algorytmu o skończonej liczbie etapów. Zwróćmy jednak uwagę, że nie istnieje jeden uniwersalny algorytm znajdowania rozwiązania równania różniczkowego (np. podobny do wzoru na pierwiastki trójmianu kwadratowego).