I Bevezetés
Az, hogy a sebesség és a gyorsulás az elmozdulás ill. a sebesség időbeli megváltozásával kapcsolatos, olyan összefüggéseket eredményez, melyek alapján a mozgások számítógépes követése lehetővé válik. Ez nagy pontosság esetén is viszonylag rövid számolási időt igényel. Az alapösszefüggés abból adódik, hogy egy $f$ függvény $r$ változási rátája, másnéven trendje, jól közelíthető a függvény véges $\Delta t$ időkülönbség alatti $\Delta f$ növekménye és az időkülönbség a hányadosaként: $$ r(t) = \Delta f / \Delta t = (f(t + \Delta t) - f(t)) / \Delta t . \qquad (1)$$ A közelítés annál jobb, minél kisebb $\Delta t$.
A matematika nyelvén az egzakt trend az $f$ függvény $f'$ derváltja. Határozzuk meg az $f(t)=t^2$ függvény
deriváltja és változási rátája (1) közelítő kifejezése közötti különbséget adott kis $\Delta t$ időkülönbség
esetén.
.
A $t^2$ függvény deriváltja a $t$ helyen $2t$. Az (1) közelítő kifejezés adott $\Delta t$ esetén $$ r(t)= [(t+\Delta t)^2-t^2]/\Delta t = [t^2 + 2 t \Delta t + (\Delta t)^2 - t^2] / \Delta t = [2 t \Delta t + (\Delta t)^2] / \Delta t = 2t + \Delta t. $$ A pontos deriválttól való eltérés tehát éppen a $\Delta t$ időkülönbség. A $\Delta t = 0.001$ értékkel a különbség $1/1000$, ami alig észrevehetően eltérés.
A numerikus eredmény összehasonlítása egy ismert esettel: függőleges hajítás
Kezdjünk egy minden diák által jol ismert mozgással, mely jól mutatja, mi várható az (1) kifejezés $\Delta t$ időkülönbséggel történő alkalmazásakor. Megvizsgáljuk azt is, mennyire lehet megbízható ez a megközelítés.
Tekintsünk egy $v_0 = 10 \text{ m/s}$ kezdősebességű föggőleges hajítást. Tudjuk, hogy sebesség-idő függvénye (SI egységekben) $v(t)=10-10t$, ha a gravitációs gyorsulást $g=10 m\text{/s}^2$-nek vesszük. A $v$ sebesség az $x$ helykoordináta változási rátája, vagy trendje. Azt is tudjuk, hogy a nullszintről számított egzakt elmozdulás-idő függvény $x(t)=10t-5t^2$ ($x_0=0$). Alkalmazzuk most a közelítő kifejezést az $x$ elmozdulásra (azaz (1)-ben $f = x$-et véve) a pontos $v(t)$ sebességfüggvényt írva az $r(t)$ ráta helyére. Ebből az következik, hogy $$ (x(t+\Delta t)-x(t))/\Delta t = v(t). \qquad (2)$$ Tekintsük a $\Delta t$ időlépés egész számú $(n=1,2,\dots)$ többszöröseinek megfelelő időpontokat és jelöljük az ezekhez tartozóan (2)-ből kapott helykoordinátákat $x_n$-nel. Ezek szerint pl. $x_{n+1}$ az $(n+1)\Delta t$ pillananthoz tartozik. Így (2)-ből $$ x_{n+1} = x_n + v_n\Delta t. \qquad (3) $$ Ez a diszkért idejű kapcsolat jól értelmezhető: amennyiben a $v_n$ változási ráta adott, a helykoordináta növekménye a ráta és az időlépés szorzata. Más szavakkal, elegendően rövid időszak alatt bármely mozgás egyenletes, az elmozdulás gyakorlatilag állandó sebességgel történik. Ha a $v_n$ változási rátát bármely vizsgált pillanatban ismerjük, a (3) összefüggés ismételt alkalmazásával az $x_n$ mennyiség is tetszőleges pillanatra megkapható. Általánosságban, elegendően rövid $\Delta t$ időlépéssel tetszőleges $f(t)$ függvény rekonstruálható a változási ráta $r(t)$, vagy trend, ismeretében (matematikai szóhasználattal a derivált integrálásával).
Mutassuk meg, hogy a (3) összefüggés geometriai jelentése szerint az $x(t)$ függvény $(n+1)\Delta t$ pillanatban
felvett értékét kis $\Delta t$-re jól közelíti az $n\Delta t$ pillanatban a függvényhez húzott érintőhöz tartozó
érték. Útmutatás: a $t$ pillanathoz tartozó érintő meredeksége az abban a pontban vett derivált.
.
Az $x(t)$ függvény pontos változási sebessége a $t$ pillanatban $v(t)$. A $(t, x(t))$ ponthoz tartozó érintő egyenlete $x(t’)=x(t)+v(t)(t’-t)$. Ha $t’$-t $(n+1)\Delta t$-nek választjuk és $t$-t $n\Delta t$-vel azonosítjuk, visszakapjuk az $$ x_{n+1} = x_n + v_n \Delta t $$ összefüggést, mivel $v_n$ éppen $v(n \Delta t)$-t jelenti. Tudjuk, hogy az érintők kis távolságokon jól közelítik azt a görbét, amelyhez húztuk őket. Így optimisták lehetünk a (3) iterálás pontosságát illetően kis $\Delta t$ időlépéssel.
A (3) összefüggés fontos következménye, hogy az $n$-edik pillanathoz tartozó $(x_n, v_n)$ hely és sebesség, valamint az időlépés ismeretében elemi számolással megkaphatjuk a következő időponthoz tartozó helykoordinátát. Az $x_0 = 0$ értékkel $t=0$-ban kezdve, $x_1=v_0 \Delta t$. Ezzel azonban egy lépessel tovább is mehetünk, s azt kapjuk, hogy $x_2=x_1+v_1 \Delta t$. És így tovabb, ameddig csak akarjuk! Ez az iteratív megközelítés ad lehetőséget a mozgás követésére, mintegy felgöngyölítjük az eseményeket, s ez ideálisan alkalmas arra, hogy számítógépre vigyük. Mielőtt azonban ezt tennénk, érdemes személyes tapasztalaton keresztül megismerkedni a módszerrel (egyszer az életben).
A vizsgált függőleges hajítás pontos repülési ideje 2 s. Osszuk ezt 10 lépésre, vagyis legyen $\Delta t=0.2 \text{s}$. A (3) összefüggést használva add meg a lenti táblázat hiányzó adatait. Ebbe eleve be vannak írva a vizsgálandó időpillanatok és a teljesség kedvéért (az utolsó oszlopban) a pontosan érvényes $x(t)=10t-5t^2$ helykoordináták is, ugyanezekben a pillanatokban. A kitöltés után látni fogod, mennyire tér el a diszkrét idejű közelítés a folytonos idejű leírástól.
Nyomtatáshoz a táblázat innét tölthető le.
$n$ | $t$ | $v_n=10-10t$ | $v_{n-1}\Delta t$ | $x_n=x_{n-1} + v_{n-1}\Delta t$ | $x(t)=10t-5t^2$ |
---|---|---|---|---|---|
0 | 0 | 10 | - | 0 | 0 |
1 | 0.2 | 8 | 2 | 1.8 | |
2 | 0.4 | 3.2 | |||
3 | 0.6 | 4.2 | |||
4 | 0.8 | 4.8 | |||
5 | 1.0 | 5.0 | |||
6 | 1.2 | 4.8 | |||
7 | 1.4 | 4.2 | |||
8 | 1.6 | 3.2 | |||
9 | 1.8 | 1.8 | |||
10 | 2.0 | 0.0 | |||
11 | 2.2 | -2.2 |
A kitöltés után látjunk különbséget. Hogy az ekkora, az természetes, hiszen 0,2 s nem sokkal kisebb a teljes 2 s-os repülési időnél. Ami meglepő az, hogy a numerikus értékek sorozata már most hasonlít az egzakt mozgáshoz. A $x=0$ szintre történő teljes visszatérés a 11. lépésben, azaz 2,2 s után következik be. Ez csak 10 %-kal kölönbözik a pontos eredménytől! Vegyük észre, hogy ez a végső kölönbség akkora, mint a $\Delta t$ lépésköz.
Elérkezett az ideje annak, hogy az iterálási eljárást gépre vigyük. Táblázat készítésére az Excel program tökéletesen alkalmas. Ebbe az Excel táblába a (3) iterációs szabály már bele van építve, mely ellenőrizhető az $n=1$ sor különböző dobozaira kattintással. Ha kijelölöd ezt a sort és legörgetsz az $n=11$-edik időlépésig, ugyanazt a táblázatot kapod, amit kitöltöttél. Új vonás azonban, hogy az eredmémyek grafikusan is megjelennek (mint piros pontok), míg a kék görbe (egy parabola) az egzakt kitérés-idő függvényt mutatja. A hasonlóság így még meggyőzőbb mint csak a táblázatból.
Ennek az egyszerű mozgásnak érdekes tulajdonsága, hogy a teljes $T$ repülési idő $N$ részre osztásával, a $\Delta t=T/N$ numerikus időlépéssel kapott idősor megfelel egy olyan valódi függőleges hajításnak, melyet az eredetinél nagyobb, $v'_0=v_0(1+1/N)$ kezdősebességgel indítunk. Ez önmagában jól mutatja, hogy elegendően kis lépésközzel, vagyis $N \gg 1$ esetén a diszkért idejű eredmény megbízhatóvá válik! Ellenőrizzük ezt a tulajdonságot konrét esetünkben, amikor $N=10$, és az új kezdősebesség $v'_0=11$ m/s. .
A $v'_0=11 \text{ m/s}$ kezdősebességhez tartozó egzakt elmozdulás $x'(t)=11t-5t^2$
Erre $n$ 0,2 s-ként tekintve, a diszkrét értékek méterben: $$ x'_n=11 n 0.2 -5 (n 0.2)^2 = 2.2 n- 0.2 n^2. $$ Az $n=1,\dots,11$ pillanatokban éppen a numerikus táblázatban látott értékeket kapjuk vissza.
Mutassuk meg, hogy a $\Delta t$ lépéslözzel kapott $x_{n+1}-x_n$ numerikus elmozdulás és az egzakt $x(t=(n+1)\Delta t)-x(t=n \Delta t)$ elmozdulás közötti különbség $\Delta t^2$-tel arányos. Azt látjuk, hogy a (3) közelítés használatakor egyetlen lépésben elkövetett hiba $\Delta t^2$ nagyságrendű. Ez, $\Delta t=0.01$ esetén például mindössze egy tízezrednyi. .
A sebesség-idő függvény konkrét $v(t)=10-10t$ alakját használva, a $x_{n+1}-x_n$ elmozdulás
$x_{n+1}-x_n =(10-10n\Delta t) \Delta t$.
Az egzakt $x(t)=10t-5 t^2$ alakkal azt találjuk, hogy
$$ x((n+1)\Delta t)-x(n\Delta t)=10(n+1)\Delta t-10n\Delta t-5(n+1)^2(\Delta t)^2 + 5 n^2 t^2 =\\
=10\Delta t - 10n(\Delta t)^2- 5(\Delta t)^2. $$ A két elmozdulás közötti különbség $5(\Delta t)^2$.
Ez a numerikus eltérés leolvasható a kitöltött táblázat $n+1$-edik és $n$-edik sora különbségeként is, s
valóban mindenütt 0,2 eltérést kapunk (mindig a numerikus különbség a nagyobb), ami éppen $5(\Delta t)^2$.
Ugyanezzel az Excel táblával kisebb időlépésű eset is vizsgálható. Ajánljuk a $\Delta t=0.1\text{s}$ és $\Delta t=0.02 \text{s}$ választást. Nem szabad elfelejtkezni arról, hogy ekkor a 21. ill. 101. sorig kell görgetni. Jobban közelítik ezek az egzakt kifejezést? Ha veszed a bátorságot a $\Delta t=0.002$ választáshoz, látsz bármi különbséget a grafikonokon?
A függőleges hajítás példája annyira egyszerű, hogy $x_n$-re explicit kifejezést vezethetünk le adott $\Delta t$ mellett. Ez azt is lehetővé teszi, hogy tetszőleges számú időlépés után is meghatározd a numerikusan kapott és az egzakt helykoordináta különbségét. Útmutatás: adjuk össze a kis elmozdulásokat és emlékezzünk a számtani sor összegére. .
Adjuk össze a növekményeket 1-től $n$-ig: $$ x_1 + (x_2 -x_1) + \cdots (x_n-x_{n+1}) = x_n =10\Delta t + (10-10\Delta t) \Delta t +\\ +(10-10\ 2\Delta t) \Delta t + (10-10\ 3\Delta t) \Delta t + \dots + (10-10 (n-1)\Delta t) \Delta t. $$ A $10\Delta t$ tag $n-1$-szer fordul elő, a $10 (\Delta t)^2$ kifejezés együtthatói $(1+ 2 + 3 + \dots n-1)$. Ez számtani sor, melynek összege $n(n-1)/2$. Így az $n$ lépés utáni teljes elmozdulás $$ x_n =10n\Delta t - 5 n(n-1) (\Delta t)^2.$$ Az egzakt kifejezés $x$-re a $t=n\Delta t$ pillanatban $$ x(t=n \Delta t)=10n\Delta t - 5 (n\Delta t)^2.$$ A különbség $5 n (\Delta t)^2$ (a numerika "javára"). Ezen eredmény helyessége ellenőrizhető az eredeti tablázatban. Végülis, az $n$ lépés utáni különbség is kicsi kis időlépésre, de ez növekszik $n$-el. Ha $N$ lépésre osztjuk a repülési időt: $\Delta t=T/N$, a végső különbség $5 N (\Delta t)^2= 5 N (T/N)^2 =5 T \Delta t$, nagyobb, mint az egy lépésben ellövetet hiba, melyről láttuk, hogy $(\Delta t)^2$. A hibák halmozódnak az iterálás többszöri ismétlésével.
Adjunk választ az előző kérdésekre tetszőleges $v_0$ kezdősebességű függőleges hajításra, a gravitációs
gyorsulást $g$-vel jelölve.
.
Egylépéses hiba:
Az egzakt $v(t)=v_0-gt$ sebesség-kifejezés szerint, a numerikus elmozdulás
$x_{n+1}-x_n = (v_0-g n\Delta t) \Delta t$.
Az $x(t)=v_0 t-(g/2) t^2$ kifejezésből a pontos elmozdulás $\Delta t$ alatt
$$ x((n+1)\Delta t)-x(n\Delta t) =
v_0(n+1)\Delta t-v_0 n \Delta t-(g/2) (n+1)^2(\Delta t)^2 + (g/2) n^2 t^2 = $$
$$ = v_0\Delta t -gn(\Delta t)^2 - (g/2)(\Delta t)^2. $$
A két kifejezés közötti egylépéses különbség $(g/2) (\Delta t)^2$.
Hosszú idejű hiba:
A kis elmozdulásokat 1-től $n$.ig összeadva, és használva a számtani sor összegképletét:
$$ x_n =v_0\Delta t + (v_0-g\Delta t) \Delta t + (v_0-2 g \Delta t) \Delta t + \dots + (v_0-g (n-1)\Delta t) \Delta t =\\
= v_0n\Delta t - (g/2) n(n-1) (\Delta t)^2. $$
Az egzakt $x$ érétk $t=n\Delta t$-ben
$$ x(t=n \Delta t)=v_0 n\Delta t - (g/2) (n\Delta t)^2. $$
A különbség $n (g/2) (\Delta t)^2$.
Az itt talált $n$-nel lineáris növekedés kivételes, gyorsabb mint általában amikoris a teljes hiba a lépésszámmal közelítőleg úgy nő, mint $n^{1/2}$.
Az ekvivalens egzakt függőleges hajítás
A teljes repülési idő $2 v_0/g$. Ezt $N$ részre osztva $\Delta t=2 v_0/(gN)$.
Az $x_n$ fenti kifejezésébe helyettesítve:
$$ x_n = v_0 n 2 v_0/(g N) - (g/2) n^2 (2 v_0/g N)^2 - (g/2) n (2 v_0/g N) =\\
= v_0 n (2 v_0/g N) (1+1/N) - g/2 n^2 (2 v_0/g N)^2 $$
Mivel az $n$ index a $t= n 2 v_0/(g N)$ pillanathoz tartozik, ez írható úgy is, mint
$$ v_0 (1+1/N) t - g/2 t^2. $$
Ez a fügőleges hajítás elmozdulása $v_0 (1+1/N)$ kezdősebességgel. Ismét látjuk, hogy
nagy $N$-re (kis $\Delta t$-re) a numerikus eljárás az egzakthoz nagyon közeli eredményt ad.