Analiza matematyczna 2/Wykład 13: Równania różniczkowe zwyczajne

From Studia Informatyczne

Spis treści

Równania różniczkowe zwyczajne.

Przedstawiamy kilka praktycznych problemów, których opis w języku matematyki prowadzi do równań różniczkowych. Dowodzimy twierdzenia Picarda o istnieniu i jednoznaczności rozwiązania problemu początkowego Cauchy'ego. Przedstawiamy dwie metody przybliżonego rozwiązywania równań różniczkowych (metodę kolejnych przybliżeń Picarda i metodę łamanych Eulera). Pokazujemy też jak za pomocą analizy pola kierunków można określić przybliżony przebieg rozwiązań równania różniczkowego.

Modele matematyczne, które prowadzą do równań różniczkowych

Opis wielu zagadnień praktycznych korzysta z modeli, w których w naturalny sposób pojawia się zależność od pochodnej. Rozważmy kilka z tych problemów.



Rysunek do przykładu 13.1.

Przykład 13.1.

(stygnięcie, ogrzewanie pewnej substancji) Z obserwacji wynika, że substancja stygnie (odpowiednio: ogrzewa się) tym szybciej, im większa jest różnica temperatury tej substancji i otoczenia. Jeśli \displaystyle x(t) oznacza temperaturę substancji w chwili \displaystyle t, obserwację można sformułować następująco: zmiana temperatury substancji \displaystyle x(t+h)-x(t) po upływie czasu \displaystyle h od pomiaru temperatury w chwili \displaystyle t jest proporcjonalna do różnicy temperatur \displaystyle x(t)-x^*, gdzie \displaystyle x^* oznacza temperaturę otoczenia, co można zapisać za pomocą równości

\displaystyle  \frac{x(t+h)-x(t)}{h}\approx-\lambda (x(t)-x^*), \ \ x(t_0)=x_0,

gdzie \displaystyle \lambda>0 jest pewną stałą, a \displaystyle x_0 oznacza temperaturę substancji, którą zanotowaliśmy na początku obserwacji w chwili \displaystyle t_0. Znak minus, który poprzedza różnicę \displaystyle x(t)-x^* bierze się stąd, że substancja stygnie (czyli \displaystyle x(t+h)-x(t)<0 po upływie czasu \displaystyle h>0), gdy ma wyższą temperaturę niż otoczenie (tj. gdy \displaystyle x(t)-x^*>0) albo ogrzewa się (czyli \displaystyle x(t+h)-x(t)>0 po upływie czasu \displaystyle h>0), gdy otoczenie ma wyższą temperaturę niż obserwowana substancja (tj. gdy \displaystyle x(t)-x^*<0). Jeśli odcinki czasu pomiędzy kolejnymi pomiarami temperatury będą małe, w granicy zależność, którą sformułowaliśmy, przyjmie postać:

\displaystyle  \frac{dx}{dt}(t)\ = -\lambda (x(t)-x^*), \ \ x(t_0)=x_0.

Nietrudno odgadnąć (na przykład przyjmując wpierw dla ułatwienia zadania, że temperatura otoczenia \displaystyle x^*=0 jest zerowa), że zależność \displaystyle \frac{dx}{dt}(t) = -\lambda x(t) spełnia funkcja wykładnicza \displaystyle t\mapsto \exp (-\lambda t), a także każdy iloczyn tej funkcji przez stałą. Nasze doświadczenie podpowiada nam, że w trakcie obserwacji dwóch identycznych próbek substancji, które stygną w tych samych warunkach (np. dwie identyczne filiżanki kawy stojące obok siebie), po upływie określonego czasu zauważymy, że obie będą mieć taką samą temperaturę. Zbudowany model matematyczny

\displaystyle  \frac{dx}{dt}(t)\ = -\lambda x(t), \ \ x(t_0)=x_0,

dostarcza dokładnie jednego rozwiązania i jest nim funkcja

\displaystyle  x(t)=x_0 \exp (-\lambda (t-t_0)),

która spełnia warunek \displaystyle x(t_0)=x_0, oznaczający, że temperatura substancji na początku obserwacji wynosiła \displaystyle x_0.

Otrzymane rozwiązanie możemy również łatwo zmodyfikować tak, aby odpowiadało obserwacji w przypadku, gdy temperatura otoczenia \displaystyle x^* jest dowolna:

\displaystyle x(t)=x^* +(x_0-x^*) \exp (-\lambda (t-t_0)).

Naszkicujmy rodzinę krzywych, odpowiadających różnym wartościom temperatury początkowej (patrz rysunek powyżej).

Niezależnie od temperatury początkowej \displaystyle x_0 (w momencie \displaystyle t_0=0) wszystkie krzywe \displaystyle t\mapsto x^* +(x_0-x^*) \exp (-\lambda t) zmierzają asymptotycznie do prostej \displaystyle x=x^*, co odpowiada wielokrotnie czynionej przez nas obserwacji: wraz z upływem czasu wszystkie przedmioty, które znajdują się w pewnym pomieszczeniu (a nie są w jakiś sposób izolowane przed ciepłem), osiągają

temperaturę otoczenia.

Niemal każda dziedzina nauki (fizyka, chemia, biologia, ekonomia, demografia, meteorologia i wiele innych) tworzy modele, w których pojawiają się zależności od funkcji i jej pochodnej (lub pochodnych wyższego rzędu).

Przykład 13.2.

(ruch jednostajnie przyśpieszony, spadek swobodny) Z opisem ruchu punktu materialnego, który spada swobodnie w polu grawitacyjnym, spotkaliśmy się już w szkole na lekcjach fizyki. Można przyjąć, że przyśpieszenie ziemskie jest (w pobliżu powierzchni Ziemi) wielkością stałą \displaystyle g=9.81 \frac{m}{s^2}. Pamiętając, że przyśpieszenie jest pochodną rzędu drugiego funkcji położenia \displaystyle t\mapsto x(t), otrzymujemy równanie

\displaystyle x''(t)=g,

które po jednokrotnym całkowaniu spełnia przyjmuje postać

\displaystyle x'(t)=gt+v_0,

gdzie \displaystyle v_0 jest prędkością w chwili \displaystyle t_0=0. Kolejne całkowanie prowadzi do znanego wzoru na położenie punktu materialnego w chwili \displaystyle t w ruchu jednostajnie przyspieszonym:

\displaystyle x(t)=\frac{1}{2}gt^2+v_0t+x_0,

gdzie \displaystyle x_0 jest położeniem

punktu w chwili początkowej \displaystyle t_0=0.

Przykład 13.3.

(rozwój kolonii bakterii, prawo Malthusa) Obserwacja grupy jednakowych organizmów (np. kolonii bakterii), rozwijających się i rozmnażających w środowisku, w którym jest nieograniczona ilość pożywienia i nie ma naturalnych wrogów, prowadzi do obserwacji, że liczba nowo powstałych organizmów w jednostce czasu jest proporcjonalna do liczby organizmów w danej chwili. Prowadzi to do równania

\displaystyle \frac{x(t+h)-x(t)}{h}\approx \lambda x(t),

w którym \displaystyle x(t) oraz \displaystyle x(t+h) oznaczają liczebność grupy organizmów w chwili \displaystyle t oraz po upływie czasu \displaystyle h, natomiast \displaystyle \lambda jest stałą charakteryzującą tempo rozmnażania się danej grupy organizmów. Przy \displaystyle h\to 0 otrzymujemy równanie różniczkowe

\displaystyle x'=\lambda x,
które spełnia funkcja
\displaystyle x(t)=N_0 \exp(\lambda t),

gdzie stała \displaystyle N_0 oznacza liczebność grupy organizmów na początku obserwacji w chwili \displaystyle t=0. Otrzymane równanie stanowi ilustrację prawa Malthusa, które głosi, że wzrost liczebności organizmów jest wykładniczy.



Rysunek do przykładu 13.4.
Jakob Bernoulli (1654-1705)Zobacz biografię
Enlarge
Jakob Bernoulli (1654-1705)
Zobacz biografię

Przykład 13.4.

(zmodyfikowany model rozwoju grupy organizmów) W realnym świecie wykładniczy wzrost liczby organizmów obserwujemy rzadko. W sytuacji, gdy ilość pożywienia jest ograniczona, rozwój grupy organizmów lepiej niż prawo Malthusa opisuje równanie

\displaystyle  x'=\lambda x(N-x),
gdzie \displaystyle N jest pewną stałą. Jest to równanie Bernoullego \displaystyle x'-N\lambda x=-\lambda x^2 (omawiamy je szerzej w ramach następnego modułu). Łatwo spostrzec, że spełniają je dwie funkcje stałe \displaystyle x(t)=N oraz \displaystyle x(t)=0. Po podstawieniu \displaystyle z=\frac{1}{x} otrzymujemy równanie liniowe niejednorodne (które także omawiamy w ramach następnego modułu)
\displaystyle  z'+\lambda N z=\lambda,

które spełnia każda funkcja postaci

\displaystyle  z(t)=\frac{1}{N}+C\exp(-\lambda N t),

gdzie \displaystyle C jest stałą. Jej wartość można określić, biorąc pod uwagę liczebność grupy \displaystyle N_0 w chwili \displaystyle t=0, czyli biorąc \displaystyle z(0)=\frac{1}{N_0}. Otrzymamy stąd \displaystyle C=\frac{1}{N_0}-\frac{1}{N}. Ostatecznie więc rozwiązaniem równania \displaystyle x'=\lambda x(N-x) jest funkcja

\displaystyle  x(t)= \left(\frac{1}{N}+\left(\frac{1}{N_0}-\frac{1}{N}\right) \exp(-\lambda N t)\right)^{-1}.

Rozwiązanie stałe \displaystyle x(t)=N jest szczególnym przypadkiem otrzymanego rozwiązania, gdy \displaystyle N=N_0.

Warto zwrócić uwagę na parę własności tego rozwiązania. Mamy \displaystyle x(t)\to N, gdy \displaystyle t\to \infty, niezależnie od liczebności grupy w chwili początkowej. Stała \displaystyle N ma naturalną interpretację biologiczną: jest to pojemność ekosystemu, zależna od m.in. ilości pożywienia dostępnego grupie organizmów na określonym obszarze. Ponadto, jeśli \displaystyle N_0<N (odpowiednio: \displaystyle N_0>N), to liczebność grupy \displaystyle t\mapsto x(t) rośnie (odpowiednio: maleje) i zmierza asymptotycznie do \displaystyle N. Zauważmy także, że żadne z rozwiązań \displaystyle t\mapsto x(t) nie zmierza do zera, gdy tylko \displaystyle N_0>0.

Przykład 13.5.

(równanie sprężyny, prawo Hooke'a) Zgodnie z prawem Hooke'a siła, którą należy wywrzeć na ciało sprężyste, aby je odkształcić, jest wprost proporcjonalna do wielkości odkształcenia. Prawo to w przypadku jednowymiarowym (np. ściskanie i rozciąganie sprężyny) opisuje równanie

\displaystyle x''=-k^2x,
gdzie \displaystyle x jest wielkością odkształcenia, a \displaystyle k^2 jest stałą charakteryzującą ciało, które ulega odkształceniu sprężystemu. Otrzymane równanie (równanie liniowe rzędu drugiego o stałych współczynnikach, które szerzej omawiamy w kolejnym module) spełnia każda funkcja postaci
\displaystyle  x(t)=A \cos(kt)+B\sin (kt),

gdzie \displaystyle A, B są stałymi, których wartość można określić na podstawie np. położenia \displaystyle x_0 i prędkości \displaystyle v_0 w chwili początkowej \displaystyle t=0. Mamy bowiem \displaystyle x'(t)=-Ak \sin(kt)+Bk\cos (kt), skąd

\displaystyle  \left\{\aligned x_0&=x(0)=A \cos(k\cdot 0)+B\sin (k\cdot 0)=A\\ v_0&=x'(0)=-Ak \sin(k\cdot 0)+Bk\cos (k\cdot 0)=Bk,\endaligned \right.

czyli \displaystyle A=x_0, \displaystyle B=\frac{v_0}{k}. Zatem ruch końca sprężyny, który w chwili \displaystyle t=0 odchylono o \displaystyle x_0 i puszczono z prędkością początkową \displaystyle v_0, opisuje równanie

\displaystyle x(t)=x_0 \cos(kt)+\frac{v_0}{k}\sin (kt).

Zauważmy, że otrzymana funkcja jest okresowa o okresie \displaystyle T=\frac{2\pi}{k} i ma stałą amplitudę, co w przypadku realnej sprężyny nie jest prawdą. Nasz model zaniedbuje bowiem tarcie, na

skutek którego ruch zanika (amplituda maleje do zera), gdy \displaystyle t\to \infty.

W ramach ćwiczeń omawiamy także rozpad promieniotwórczy izotopu oraz zagadnienie ciągłej kapitalizacji odsetek. Problemy te także prowadzą do konstrukcji modeli matematycznych, w których głównym narzędziem jest pewne równanie różniczkowe.

Równanie różniczkowe w postaci normalnej i różniczkowej

Definicja 13.6.

Niech \displaystyle F: \mathbb{R}^{n+1}\supset U\mapsto \mathbb{R} będzie funkcją ciągłą na zbiorze otwartym \displaystyle U. Równanie

\displaystyle  F\left(t, x(t), x'(t), x''(t), \dots , x^{(n)}(t)\right)=0,

z niewiadomą \displaystyle t\mapsto x(t) (tj. funkcją \displaystyle n krotnie różniczkowalną \displaystyle t\mapsto x(t)), w którym oprócz niewiadomej \displaystyle x występują także jej pochodne \displaystyle x', \ x'', \dots, x^{(n)} nazywamy równaniem różniczkowym zwyczajnym rzędu \displaystyle n.

Niech \displaystyle \Delta\subset \mathbb{R} będzie przedziałem (z końcami lub bez,

ograniczonym lub nieograniczonym). Funkcję
\displaystyle u:\Delta\to \mathbb{R}

nazywamy rozwiązaniem równania różniczkowego \displaystyle  F\left(t, x(t), x'(t), x''(t), \dots , x^{(n)}(t)\right)=0, jeśli

1. \displaystyle u jest \displaystyle n-krotnie różniczkowalna w każdym punkcie przedziału \displaystyle \Delta (przy czym na końcach przedziału, o ile do niego należą, bierzemy pod uwagę pochodne jednostronne);

2. wykres funkcji \displaystyle u zawiera się w zbiorze \displaystyle U;

3. dla dowolnego \displaystyle t\in\Delta zachodzi równość \displaystyle  F\left(t, u(t), u'(t), u''(t), \dots , u^{(n)}(t)\right)=0.

Jeśli w równaniu niewiadomą jest funkcja dwóch lub większej liczby zmiennych i równanie zawiera zależność od pochodnych cząstkowych tej funkcji, na przykład

\displaystyle  F\left(t,s, x(t,s), \frac{\partial x}{\partial t}, \frac{\partial x}{\partial s}, \dots \right)=0,

to równanie tego typu nazywamy równaniem różniczkowym cząstkowym. W dalszym ciągu będziemy zajmować się równaniami zwyczajnym rzędu pierwszego w postaci normalnej

\displaystyle  x'(t)=f(t, x(t)),

tj. takiej postaci, w której pochodna niewiadomej \displaystyle x jest funkcją tej niewiadomej i zmiennej niezależnej \displaystyle t. Mając bowiem dane równanie różniczkowe zwyczajne rzędu \displaystyle n w postaci normalnej

\displaystyle x^{(n)}=f(t, x, x' , x'', \dots, x^{(n-1)}),

możemy je zastąpić układem równań różniczkowych zwyczajnych rzędu pierwszego w postaci normalnej:

\displaystyle \left\{ \aligned &x_0'=x_1 \\ &x_1 '=x_2 \\ &x_2'=x_3 \\ &\vdots \\ &x_{n-2}'=x_{n-1}\\ &x_{n-1}'=f(t, x_0, x_1, x_2, \dots, x_{n-2}, x_{n-1}), \endaligned \right.
w którym zmienne
\displaystyle x_0, \ x_1, \  x_2, \dots, \ x_{n-2},\ x_{n-1}

odpowiadają funkcji niewiadomej \displaystyle x oraz jej pochodnym

\displaystyle x, \ x', \ x'', \dots, \ x^{(n-2)}, \ x^{(n-1)}.

Bardzo często zmienną niezależną \displaystyle t w równaniu różniczkowym nazywamy czasem (ze względu na liczne modele matematyczne, w których właśnie czas przeważnie jest zmienną niezależną). Pochodną funkcji \displaystyle t\mapsto x(t) oznaczamy tradycyjnie symbolami

\displaystyle x', \ \ \frac{dx}{dt}, \ \ \frac{d}{dt}x, \ \ \dot{x}.

Ostatnie z oznaczeń pochodnej (za pomocą kropki nad niewiadomą \displaystyle \dot{x}) jest charakterystyczne dla równań różniczkowych.

Odpowiednio drugą, trzecią i pochodne wyższego rzędu oznaczamy tradycyjnie symbolami:

\displaystyle \aligned &x'', \ \ &\frac{d^2x}{dt^2}, \ \ &\frac{d^2}{dt^2}x, \ \ &\ddot{x} & \\ &x''', \ \ &\frac{d^3x}{dt^3}, \ \ &\frac{d^3}{dt^3}x, \ \ &\dddot{x}  & \\ &x^{(n)}, \ \ &\frac{d^n x}{dt^n}, \ \ &\frac{d^n}{dt^n}x, \ \ & x^{(n)}. & \endaligned
Uwaga 13.7.

Wraz z równaniem różniczkowym w postaci normalnej \displaystyle \dfrac{dx}{dt}=f(t,x) rozważamy też często równanie w

postaci różniczkowej
\displaystyle dx=f(t,x)dt,

bądź w bardziej ogólnej postaci

\displaystyle  P(t,x)dt+Q(t,x)dx=0,

gdzie \displaystyle P, Q są danymi funkcjami zmiennych \displaystyle t,x. Zadajemy wówczas

pytanie o istnienie takiej funkcji różniczkowalnej \displaystyle F: (t,x)\mapsto F(t,x), której różniczka
\displaystyle dF=\frac{\partial F}{\partial t}dt+\frac{\partial F}{\partial x}dx

jest tożsama z lewą stroną równania w postaci różniczkowej \displaystyle P(t,x)dt+Q(t,x)dx=0.

Otrzymujemy wówczas rozwiązanie
\displaystyle t\mapsto x(t)\ \text{ lub } \ x\mapsto t(x)
dane w postaci uwikłanej
\displaystyle F(t, x(t))=C \ \text{ lub } F(t(x),x)=C,

gdzie \displaystyle C jest pewną stałą.

Przykład 13.8.

Dane jest równanie różniczkowe zwyczajne rzędu pierwszego w postaci normalnej

\displaystyle \frac{dx}{dt}=-\frac{x+2t}{2x+t}.

Zauważmy, że postaci różniczkowej przyjmuje ono wyjątkowo prostą postać

\displaystyle (2x+t)dx+(x+2t)dt=0,
gdyż
\displaystyle 2xdx+2tdt=d(x^2+t^2) \text{ oraz } tdx+xdt=d(tx),

stąd równanie w postaci różniczkowej jest tożsame z równaniem

\displaystyle  d(x^2+xt+t^2)=0,

czyli \displaystyle x^2+xt+t^2=C, gdzie \displaystyle C jest pewną stałą. Funkcje

\displaystyle t\mapsto x(t) w postaci uwikłanej
\displaystyle x(t)^2+x(t)t+t^2=C

spełniają dane równanie.

Istnienie i jednoznaczność rozwiązania problemu Cauchy'ego

Augustin Louis Cauchy (1789-1857)Zobacz biografię
Enlarge
Augustin Louis Cauchy (1789-1857)
Zobacz biografię

Definicja 13.9.

Zagadnienie

\displaystyle  \left\{\aligned x'(t)&=f(t, x(t))\\ x(t_0)&=x_0\endaligned \right.
polegające na znalezieniu takiego rozwiązania \displaystyle t\mapsto x(t) równania różniczkowego \displaystyle x'(t)=f(t, x(t)), które spełnia warunek początkowy \displaystyle x(t_0)=x_0 (gdzie \displaystyle x_0 jest zadaną wartością, którą szukane rozwiązanie ma przyjmować w ustalonej chwili początkowej \displaystyle t_0) nazywamy

problemem początkowym Cauchy'ego.

Powstaje naturalne pytanie, czy zawsze problem Cauchy'ego ma rozwiązanie i czy jest ono jednoznaczne? Przypomnijmy, że problem

\displaystyle \left\{\aligned &\frac{dx}{dt}(t)\ = -\lambda x(t) \\ &x(t_0)=x_0,\endaligned\right.

który rozwiązaliśmy opisując proces stygnięcia (ogrzewania), ma zawsze rozwiązanie

\displaystyle x(t)=x^* +(x_0-x^*) \exp (-\lambda (t-t_0))

i jest ono jednoznaczne. Jednak nasze doświadczenie (np. związane z prognozowaniem pogody) podpowiada nam, że nie wszystkie procesy, które przebiegają w czasie, obok nas, mają jednoznaczne rozwiązanie, którego rezultat można przewidzieć w chwili \displaystyle t na podstawie warunku początkowego. Rozważmy prosty przykład.

Przykład 13.10.

Rozważmy problem początkowy Cauchy'ego

\displaystyle \left\{\aligned &\frac{dx}{dt}(t)\ = \sqrt{x(t)} \\ &x(t_0)=x_0,\endaligned\right.

Łatwo zauważyć, że równanie \displaystyle x'=\sqrt{x} spełnia funkcja stała \displaystyle x(t)=0. Ponadto po zapisaniu równania w postaci różniczkowej \displaystyle \frac{dx}{\sqrt{x} }=dt wskazujemy rodzinę funkcji, które je spełniają:

\displaystyle  2\sqrt{x}=t+C,

gdzie \displaystyle C jest stałą (zauważmy, że równanie to ma sens tylko jeśli \displaystyle t+C\geq 0). Stąd \displaystyle x(t)=\big(\frac{t+C}{2}\big)^2, o ile \displaystyle t+C\geq 0. A więc problem Cauchy'ego

a) ma dokładnie jedno rozwiązanie, gdy \displaystyle x_0>0:

\displaystyle  x(t)=\left\{\aligned &\frac{1}{4}(t+C)^2,&& {\rm gdy}\; t>-C\\ &0,&& {\rm gdy} \; t\leq -C\endaligned \right., \quad \text{ gdzie } \ C=2\sqrt{x_0}-t_0,

b) nie ma rozwiązania, gdy \displaystyle x_0<0,

c) ma dwa rozwiązania
\displaystyle x=0 \quad \text{ oraz }\quad x(t)=\left\{\aligned &\frac{1}{4}(t-t_0)^2,&& {\rm gdy}\; t>t_0\\ &0,&& {\rm gdy} \; t\leq t_0\endaligned \right.,

gdy \displaystyle x_0=0.

Okazuje się jednak, że przy naturalnych założeniach o funkcji \displaystyle f problem Cauchy'ego ma rozwiązanie i jest ono jednoznaczne.

Twierdzenie 13.11.

(twierdzenie Picarda) Jeśli funkcja \displaystyle \mathbb{R}^2\ni (t,x)\mapsto f(t,x)\in \mathbb{R} jest ciągła w pewnym otoczeniu \displaystyle (t_0-a, t_0+a)\times (x_0-b, x_0+b) punktu \displaystyle (t_0, x_0) i spełnia warunek Lipschitza względem drugiej zmiennej, tzn.

\displaystyle \exists L : \forall x_1, x_2\in (x_0-b, x_0+b) \ : \ |f(t, x_1)-f(t, x_2)|\leq L|x_1-x_2|, \text{ dla } t\in (t_0-a, t_0+a),

to problem początkowy Cauchy'ego

\displaystyle \left\{\aligned &x'(t)\ = f(t, x(t)) \\ &x(t_0)=x_0,\endaligned\right.

ma rozwiązanie i jest ono jedyne.

Przedstawimy szkic dowodu tego twierdzenia. Zawiera on bowiem ciekawą ideę, która pozwala opracować praktyczną metodę numerycznego rozwiązywania równania różniczkowego za pomocą ciągu kolejnych przybliżeń rozwiązania danego równania.

Dowód 13.11.

[szkic] Zauważmy, że funkcja \displaystyle t\mapsto x(t) spełnia podany problem początkowy Cauchy'ego wtedy i tylko wtedy, gdy spełnione jest równanie całkowe z niewiadomą \displaystyle t\mapsto x(t)

\displaystyle x(t)-x(t_0)=\int_{t_0}^t f(s, x(s))ds,
czyli
\displaystyle x(t)=x_0+\int_{t_0}^t f(s, x(s))ds.

Niech

\displaystyle X:=\{x:[t_0-\alpha, t_0+\alpha]\ni t\mapsto x(t)\in [x_0-\beta, x_0+\beta], \text{ ciągła }\}

będzie przestrzenią funkcji ciągłych na przedziale \displaystyle [t_0-\alpha, t_0+\alpha] o wartościach w przedziale \displaystyle [x_0-\beta, x_0+\beta], gdzie \displaystyle \alpha <a, \displaystyle \beta < b. Przestrzeń \displaystyle X jest przestrzenią metryczną zupełną z metryką zadaną przez normę supremum, tj.

\displaystyle d(x_1, x_2)=\|x_1-x_2\|:=\sup\{|x_1(t)-x_2(t)|, t\in [t_0-\alpha, t_0+\alpha]\}.

Określmy na tej przestrzeni odwzorowanie:

\displaystyle  P: X\ni x\mapsto P(x), \qquad {\rm gdzie}\;\; P(x)(t):=x_0+\int_{t_0}^t f(s, x(s))ds.

Wykazuje się (pomijamy szczegóły, które można znaleźć np. w podręczniku Ryszarda Rudnickiego, Wykłady z analizy matematycznej, Wydawnictwo Naukowe PWN, Warszawa 2001), że można dobrać stałe \displaystyle \alpha oraz \displaystyle \beta tak, że

  • odwzorowanie \displaystyle P: X\mapsto X, tzn. jest określone na \displaystyle X i

przyjmuje wartości w przestrzeni \displaystyle X, tzn.

\displaystyle \|P(x(t))-x_0\|<\beta;
  • jest zwężające (czyli spełnia warunek Lipschitza ze stałą

mniejszą od 1), tzn. istnieje stała \displaystyle M<1 taka, że

\displaystyle \|P(x_1)-P(x_2)\|\leq M \|x_1-x_2\|,

dla dowolnych \displaystyle x_1, x_2 z przestrzeni \displaystyle X. Na mocy twierdzenia Banacha o punkcie stałym w przestrzeni \displaystyle X istnieje dokładnie jeden punkt \displaystyle x^*, do którego zmierza ciąg iteracji odwzorowania \displaystyle P:

\displaystyle \aligned &x_0\\ &x_1=P(x_0)\\ &x_2=P(x_1)\\ &x_3=P(x_2)\\ &\vdots \\ &x_{n+1}=P(x_n)\\ &\downarrow n\to \infty\\ &x^*.\endaligned

Punkt \displaystyle x^* jest punktem stałym odwzorowania \displaystyle P, tzn. \displaystyle P(x^*)=x^*, czyli

\displaystyle P(x^* (t))=x_0+\int_{t_0}^t f(s, x^* (s))ds,

co oznacza, że jest rozwiązaniem danego problemu Cauchy'ego i rozwiązanie to jest jedyne, gdyż (na mocy twierdzenia Banacha o punkcie stałym) ciąg iteracji \displaystyle x_{n+1}=P(x_n) zawsze zmierza do tego samego punktu \displaystyle x^* (punktu stałego odwzorowania \displaystyle P, który jest jedyny) niezależnie od wyboru pierwszego punktu \displaystyle x_0 w ciągu iteracji, byleby został on wybrany z przestrzeni \displaystyle X, w której

odwzorowanie \displaystyle P jest zwężające. image:End_of_proof.gif
Uwaga 13.12.

Założenie o spełnianiu przez funkcję \displaystyle (t,x)\mapsto f(t,x) warunku Lipschitza jest istotne. Funkcja \displaystyle (t,x)\mapsto \sqrt{x} nie spełnia warunku Lipschitza względem drugiej zmiennej w otoczeniu punktu \displaystyle x_0. Przypomnijmy, że problem

\displaystyle \left\{\aligned &\frac{dx}{dt}(t)\ = \sqrt{x(t)} \\ &x(t_0)=0,\endaligned\right.

ma rozwiązanie, ale nie jest ono

jednoznaczne.

Uwagi o przybliżonym rozwiązywaniu równań różniczkowych

Definicja 13.13.

Ciąg określony w dowodzie twierdzenia Picarda

\displaystyle \left\{\aligned &x_1(t)=x_0+\int_{t_0}^t f(s, x_0)ds\\ &x_2(t)=x_0+\int_{t_0}^t f(s, x_1(s))ds\\ &x_3(t)=x_0+\int_{t_0}^t f(s, x_2(s))ds\\ &\vdots\\ &x_{n+1}(t)=x_0+\int_{t_0}^t f(s, x_{n} (s))ds\\ &\vdots\endaligned\right.

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

\displaystyle \left\{\aligned &x'(t)\ = x(t) \\ &x(0)=1.\endaligned\right.

Zgodnie z określeniem ciągu Picarda mamy

\begin{array}{lll} \displaystyle x_1&=1+\int_0^t ds&=1+t\\ x_2&=1+\int_0^t(1+s)ds&=1+t+\frac{1}{2}t^2\\ x_3&=1+\int_0^t(1+s+\frac{1}{2}s^2)ds&=1+t+\frac{1}{2}t^2+\frac{1}{6}t^3\\ x_4&=1+\int_0^t(1+s+\frac{1}{2}s^2+\frac{1}{6}s^3)ds&=1+t+\frac{1}{2}t^2+\frac{1}{6}t^3+\frac{1}{24}t^4\\ &\vdots&&\\ x_{n}&=1+\int_0^t\bigg(\sum_{k=0}^{n-1}\frac{s^k}{k!}\bigg)ds&=\sum_{k=0}^{n}\frac{t^{k}}{k!}\\ x_{n+1}&=1+\int_0^t\bigg(\sum_{k=0}^n\frac{s^k}{k!}\bigg)ds&=\sum_{k=0}^{n+1}\frac{t^{k}}{k!}\\ &\vdots&& \end{array}

Jak łatwo zauważyć \displaystyle n-ty wyraz ciągu Picarda jest identyczny z \displaystyle n-tą sumą częściową szeregu definiującego funkcję wykładniczą

\displaystyle \exp t=\sum_{k=0}^\infty \frac{t^n}{n!}=1+t+\frac{1}{2}t^2+\frac{1}{6}t^3+\frac{1}{24}t^4+\dots+\frac{1}{n!}t^n+\dots

Ciąg \displaystyle x_n zmierza więc do funkcji \displaystyle x(t)=\exp t, która jest

jedynym rozwiązaniem danego problemu Cauchy'ego.
Leonhard Euler (1707-1783)Zobacz biografię
Enlarge
Leonhard Euler (1707-1783)
Zobacz biografię

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

\displaystyle \frac{x(t+h)-x(t)}{h}\approx-\lambda (x(t)-x^*), \ \ x(t_0)=x_0,

równaniem różniczkowym

\displaystyle \frac{dx}{dt}(t)\ = -\lambda (x(t)-x^*), \ \ x(t_0)=x_0.

Odwróćmy teraz kolejność postępowania i lewą stronę równania różniczkowego w postaci normalnej

\displaystyle \frac{dx}{dt}=f(t,x), \ \ x(t_0)=x_0
zastąpmy ilorazem różnicowym
\displaystyle \frac{x(t+h)-x(t)}{h}\approx f(t,x).

Stąd
\displaystyle x(t+h)\approx x(t)+f(t,x)h.

Podzielmy przedział od \displaystyle t_0 do \displaystyle t na \displaystyle n równych części punktami

\displaystyle t_k:=t_0+\frac{k}{n}(t-t_0), \ \ \ k=0,1,2,\dots, n.

Określmy (skończony) ciąg punktów \displaystyle x_k następująco:

\displaystyle \left\{\aligned &x_0=x(t_0) \\ &x_1=x_0+f(t_0, x_0)h\\ &x_2=x_1+f(t_1, x_1)h\\ &x_3=x_2+f(t_2, x_2)h\\ &\vdots\\ &x_{k+1}=x_k+f(t_k, x_k)h\\ &\vdots \\ &x_n=x_{n-1}+f(t_{n-1}, x_{n-1})h, \endaligned\right.

biorąc stały przyrost \displaystyle h=\frac{t}{n}:

\displaystyle h=t_1-t_0=t_2-t_1=t_3-t_2=\dots=t_{k+1}-t_k=\dots=t_n-t_{n-1}.

Wówczas \displaystyle x_k stanowi przybliżoną wartość rozwiązania równania w chwili \displaystyle t_k, tj. \displaystyle x_k\approx x(t_k). Im gęściej podzielimy przedział od \displaystyle t_0 do \displaystyle t za pomocą punktów \displaystyle t_k (tzn. gdy \displaystyle n jest dużą liczbą), tym przybliżenie to jest lepsze. Łamaną, łączącą punkty \displaystyle (t_k, x_k) nazywamy łamaną Eulera. Stanowi ona przybliżenie wykresu \displaystyle t\mapsto x(t) rozwiązania danego

problemu Cauchy'ego w przedziale od \displaystyle t_0 do \displaystyle t.

Przykład 13.16.

Zastosujmy opisany algorytm do znalezienia przybliżonej wartości rozwiązania problemu Cauchy'ego:

\displaystyle \left\{\aligned &x'(t)\ = x(t) \\ &x(0)=1,\endaligned\right.

który rozwiązaliśmy już metodą kolejnych przybliżeń Picarda. Określamy kolejne węzły łamanej Eulera:

\displaystyle \aligned &x_0=x(t_0)=1 \\ &x_1=x_0+f(t_0, x_0)h=1+h\\ &x_2=x_1+f(t_1, x_1)h=1+h+(1+h)h=(1+h)^2\\ &x_3=x_2+f(t_2, x_2)h=(1+h)^2+(1+h)^2 h=(1+h)^3\\ &\vdots\\ &x_{k+1}=x_k+f(t_k, x_k)h=(1+h)^k+(1+h)^k h=(1+h)^{k+1}\\ &\vdots\\ &x_n=x_{n-1}+f(t_{n-1}, x_{n-1})h=(1+h)^n \endaligned

Biorąc pod uwagę, że \displaystyle h=\frac{t}{n}, otrzymujemy

\displaystyle x_n=\big(1+\frac{t}{n}\big)^n.

Stąd \displaystyle x_n (t)\approx \exp t, gdyż ciąg \displaystyle \big(1+\frac{t}{n}\big)^n zmierza do \displaystyle \exp t, gdy \displaystyle n\to\infty.

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

\displaystyle \exp(-x^2), \ \ \  \frac{\sin x}{x}, \ \ \ \frac{1}{\ln x}.

i wielu innych. Funkcje te pojawiają się w wielu ważnych zagadnieniach nauki, np. funkcja dana za pomocą całki oznaczonej

\displaystyle \Phi(x)=\frac{1}{\sqrt{2\pi}}\int_{-\infty}^x \exp(-\frac{1}{2}t^2)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

\displaystyle x'=x^2-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 \displaystyle f(t,x)=x^2 -t spełnia założenia twierdzenia Picarda w przedziałach \displaystyle -\infty<t<\infty, \displaystyle -\infty<x<\infty, 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).

Pole wektorowe. Pole kierunków

Niezależnie od tego, czy równanie różniczkowe ma rozwiązanie, które można uzyskać za pomocą algorytmu o skończonej liczbie etapów, czy też nie, może zdarzyć się, że nie potrafimy znaleźć tego rozwiązania, bo po prostu nie znamy algorytmu, bądź nie zależy nam na znalezieniu dokładnego rozwiązania, gdy jest ono dla nas mniej interesujące niż na przykład asymptotyczne zachowanie rozwiązań.

Przykład 13.18.

Powróćmy do przykładu z początku wykładu. Równanie

\displaystyle x'=\lambda x(N-x)

pojawia się w modelu opisu rozwoju grupy organizmów przy założeniu, że pojemność ekosystemu jest ograniczona. Bez rozwiązywania równania możemy zauważyć, że dwie funkcje stałe \displaystyle x(t)=0 oraz \displaystyle x(t)=N spełniają to równanie. Ponadto, gdy \displaystyle x>N, pochodna \displaystyle x'<0, czyli funkcja \displaystyle t\mapsto x(t) maleje, a z kolei, gdy \displaystyle 0<x<N mamy \displaystyle x'>0, czyli funkcja \displaystyle t\mapsto x(t) rośnie. Zwróćmy uwagę, że z tej prostej obserwacji wynika, że liczebność grupy organizmów rośnie (odpowiednio: maleje), gdy jest ich mniej (odpowiednio: więcej) niż wynosi pojemność ekosystemu. Zauważmy, że wyciągnęliśmy dokładnie ten sam wniosek, który w przykładzie 13.4. pojawił się po analizie wyznaczonego rozwiązania równania różniczkowego.

Pamiętamy, że interpretacją geometryczną pochodnej funkcji jednej zmiennej \displaystyle t\mapsto x(t) różniczkowalnej w punkcie \displaystyle t_0 jest współczynnik kierunkowy stycznej do wykresu tej funkcji w punkcie \displaystyle (t_0, x(t_0)). Odwróćmy teraz sytuację i mając dane równanie różniczkowe zwyczajne rzędu pierwszego w postaci normalnej

\displaystyle x'(t)=f(t,x(t)),

narysujmy wektory zaczepione w punktach \displaystyle (t,x) należących do dziedziny funkcji \displaystyle f, które tworzą z osią rzędnych (tj. z osią zmiennej \displaystyle t) kąt, którego tangens jest równy \displaystyle f(t,x).

Otrzymamy w ten sposób obraz

\displaystyle \mathbb{R}^2 \supset \mathrm{dom}\, f\ni (t,x)\mapsto (t,x)+\big(1, f(t,x)\big)\in \mathbb{R}^2,

pola wektorowego

\displaystyle \mathbb{R}^2 \supset\mathrm{dom}\, f\ni (t,x)\mapsto \big(1, f(t,x)\big)\in \mathbb{R}^2,

którego przebieg jest ściśle związany z przebiegiem rozwiązań danego równania. Zgodnie z interpretacją pochodnej, wektor \displaystyle [1, f(t,x)] zaczepiony w punkcie \displaystyle (t_0, x_0) jest styczny w tym punkcie do wykresu funkcji \displaystyle t\mapsto x(t) będącej rozwiązaniem problemu początkowego Cauchy'ego

\displaystyle  x'=f(x,t), \ \ x(t_0)=x_0.

Jeśli więc nawet nie potrafimy rozwiązać danego równania różniczkowego w postaci dokładnej, możemy (np. wspierając się programem do obliczeń symbolicznych Maple, Mathematica lub innym, który pozwala kreślić wykresy) narysować pole wektorowe związane z danym równaniem i na podstawie obrazu pola wektorowego określić w przybliżeniu przebieg rozwiązań równania różniczkowego.



Rysunek do przykładu 13.19.

Często zamiast szkicować wektory


\displaystyle \mathbb{R}^2 \supset\mathrm{dom}\, f\ni (t,x)\mapsto \big(1, f(t,x)\big)\in \mathbb{R}^2,

rezygnujemy z informacji o długości wektora i rysujemy na płaszczyźnie zmiennych \displaystyle (t,x) odcinki o takiej samej długości (np. jednostkowej), nachylone do osi zmiennej \displaystyle t pod kątem, którego tangens wynosi \displaystyle f(t,x). Tę reprezentację równania różniczkowego nazywamy polem kierunków równania różniczkowego.

Zauważmy, że jeśli w równaniu \displaystyle x'=f(t,x) funkcja \displaystyle (t,x)\mapsto f(t,x) nie zależy od zmiennej \displaystyle t, pole kierunków zacieśnione do którejkolwiek prostej \displaystyle t=Const jest takie samo. Stąd w przypadku równań typu \displaystyle x'=f(x) do analizowania pola kierunków i przebiegu rozwiązań równania różniczkowego wystarczy prosta zmiennej \displaystyle x.

Przykład 13.19.

Pole wektorowe związane z równaniem \displaystyle x'=2.

Przykład 13.20.

Pole wektorowe związane z równaniem \displaystyle x'=t.

Zwróćmy uwagę, że rysując gęściej wektory pola kierunków związanego z danym równaniem, otrzymujemy lepsze wyobrażenie o przebiegu krzywych \displaystyle t\mapsto (t, x(t)), które stanowią rozwiązanie równania.


Rysunek do przykładu 13.20.


Rysunek do przykładu 13.20.


Rysunek do przykładu 13.20.

Przykład 13.21.

Pole wektorowe związane z równaniem \displaystyle x'=x-t.

Podobnie jak poprzednio: im więcej wektorów pola, tym lepsze wyobrażenie o przebiegu rozwiązania równania różniczkowego.


Rysunek do przykładu 13.21.


Rysunek do przykładu 13.21.


Rysunek do przykładu 13.21.

Przykład 13.22.

Pole wektorowe związane z równaniem \displaystyle x'=x^2-t.

Równania tego nie da się rozwiązać za pomocą algorytmu o skończonej liczbie etapów. Jednak, zgodnie z twierdzeniem Picarda, dla każdego punktu \displaystyle (t_0, x_0) na płaszczyźnie istnieje dokładnie jedno rozwiązanie problemu Cauchy'ego:

\displaystyle \left\{\aligned x'=x^2-t\\ x(t_0)=x_0. \endaligned\right.

Rysując pole kierunków, możemy wyobrazić sobie przebieg krzywych stanowiących rozwiązanie problemu Cauchy'ego dla poszczególnych punktów \displaystyle (t_0, x_0).



Rysunek do przykładu 13.22.


Rysunek do przykładu 13.22.


Rysunek do przykładu 13.22.

Przykład 13.23.

Pole wektorowe związane z równaniem \displaystyle x'=\ln |x|.

Także tego równania nie potrafimy rozwiązać dokładnie za pomocą algorytmu o skończonej liczbie etapów.

Rysując pole kierunków, możemy jednak z łatwością wyobrazić sobie przebieg rozwiązań tego równania.


Rysunek do przykładu 13.23.


Rysunek do przykładu 13.23.


Rysunek do przykładu 13.23.