Laboratorium II: Modelowanie procesów fizycznych Skrypt do ćwiczeń

Podobne dokumenty
Całkowanie numeryczne

Wstęp do równań różniczkowych

Elementy rachunku różniczkowego i całkowego

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

Podstawowy problem mechaniki klasycznej punktu materialnego można sformułować w sposób następujący:

Elementy dynamiki klasycznej - wprowadzenie. dr inż. Romuald Kędzierski

lim Np. lim jest wyrażeniem typu /, a

SIŁA JAKO PRZYCZYNA ZMIAN RUCHU MODUŁ I: WSTĘP TEORETYCZNY

Wstęp do równań różniczkowych

SZCZEGÓŁOWE WYMAGANIA EDUKACYJNE Z FIZYKI KLASA II

Fizyka 1 Wróbel Wojciech. w poprzednim odcinku

Zasady dynamiki Newtona. Ilość ruchu, stan ruchu danego ciała opisuje pęd

Ruch jednowymiarowy. Autorzy: Zbigniew Kąkol Kamil Kutorasiński

MECHANIKA II. Praca i energia punktu materialnego

Zasady dynamiki Newtona. Autorzy: Zbigniew Kąkol Kamil Kutorasiński

Równa Równ n a i n e i ru r ch u u ch u po tor t ze (równanie drogi) Prędkoś ędkoś w ru r ch u u ch pros pr t os ol t i ol n i io i wym

ZASADY DYNAMIKI NEWTONA

Próbny egzamin z matematyki dla uczniów klas II LO i III Technikum. w roku szkolnym 2012/2013

FUNKCJE ELEMENTARNE I ICH WŁASNOŚCI

METODY ROZWIĄZYWANIA RÓWNAŃ NIELINIOWYCH

ZASADY DYNAMIKI. Przedmiotem dynamiki jest badanie przyczyn i sposobów zmiany ruchu ciał.

Tomasz Skowron XIII LO w Szczecinie. Wyznaczanie przyspieszenia ziemskiego za pomocą spadku swobodnego

Z52: Algebra liniowa Zagadnienie: Zastosowania algebry liniowej Zadanie: Operatory różniczkowania, zagadnienie brzegowe.

Zasady dynamiki Newtona

Konrad Słodowicz sk30792 AR22 Zadanie domowe satelita

Zakład Dydaktyki Fizyki UMK

Fizyka 1 Wróbel Wojciech. w poprzednim odcinku

Zasady dynamiki Newtona. Ilość ruchu, stan ruchu danego ciała opisuje pęd

Tadeusz Lesiak. Dynamika punktu materialnego: Praca i energia; zasada zachowania energii

Metody numeryczne. dr Artur Woike. Ćwiczenia nr 2. Rozwiązywanie równań nieliniowych metody połowienia, regula falsi i siecznych.

Fizyka 1- Mechanika. Wykład 4 26.X Zygmunt Szefliński Środowiskowe Laboratorium Ciężkich Jonów

Zasady dynamiki Newtona. Pęd i popęd. Siły bezwładności

3. KINEMATYKA Kinematyka jest częścią mechaniki, która zajmuje się opisem ruchu ciał bez wnikania w jego przyczyny. Oznacza to, że nie interesuje nas

MECHANIKA 2. Praca, moc, energia. Wykład Nr 11. Prowadzący: dr Krzysztof Polko

Numeryczne rozwiązywanie równań różniczkowych ( )

Praca, moc, energia. 1. Klasyfikacja energii. W = Epoczątkowa Ekońcowa

Anna Nagórna Wrocław, r. nauczycielka chemii i fizyki

Metody numeryczne I Równania nieliniowe

Symulacje komputerowe

FIZYKA I ASTRONOMIA RUCH JEDNOSTAJNIE PROSTOLINIOWY RUCH PROSTOLINIOWY JEDNOSTAJNIE PRZYSPIESZONY RUCH PROSTOLINIOWY JEDNOSTAJNIE OPÓŹNIONY

Zasada zachowania energii

BŁĘDY OBLICZEŃ NUMERYCZNYCH

Doświadczalne badanie drugiej zasady dynamiki Newtona

Samodzielnie wykonaj następujące operacje: 13 / 2 = 30 / 5 = 73 / 15 = 15 / 23 = 13 % 2 = 30 % 5 = 73 % 15 = 15 % 23 =

Zaawansowane metody numeryczne Komputerowa analiza zagadnień różniczkowych 4. Równania różniczkowe zwyczajne podstawy teoretyczne

Podstawą w systemie dwójkowym jest liczba 2 a w systemie dziesiętnym liczba 10.

x y

Ruch jednostajnie zmienny prostoliniowy

Propozycje rozwiązań zadań otwartych z próbnej matury rozszerzonej przygotowanej przez OPERON.

Rozdział 1. Prędkość i przyspieszenie... 5 Rozdział 2. Składanie ruchów Rozdział 3. Modelowanie zjawisk fizycznych...43 Numeryczne całkowanie,

Ruch drgający i falowy

Podstawy fizyki sezon 1 V. Ruch obrotowy 1 (!)

Met Me ody numer yczne Wykład ykład Dr inż. Mic hał ha Łan Łan zon Instyt Ins ut Elektr Elektr echn iki echn i Elektrot Elektr echn olo echn

METODY OBLICZENIOWE. Projekt nr 3.4. Dariusz Ostrowski, Wojciech Muła 2FD/L03

Wykład FIZYKA I. 5. Energia, praca, moc. Dr hab. inż. Władysław Artur Woźniak

lub też (uwzględniając fakt, że poruszają się w kierunkach prostopadłych) w układzie współrzędnych kartezjańskich: x 1 (t) = v 1 t y 2 (t) = v 2 t

REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH

Liczby zmiennoprzecinkowe i błędy

Metody przybliżonego rozwiązywania równań różniczkowych zwyczajnych

Oddziaływania. Wszystkie oddziaływania są wzajemne jeżeli jedno ciało działa na drugie, to drugie ciało oddziałuje na pierwsze.

Oddziaływania te mogą być różne i dlatego można podzieli je np. na:

Fizyka 5. Janusz Andrzejewski

Pochodna i różniczka funkcji oraz jej zastosowanie do rachunku błędów pomiarowych

Dynamika Newtonowska trzy zasady dynamiki

Wydział Inżynierii Środowiska; kierunek Inż. Środowiska. Lista 2. do kursu Fizyka. Rok. ak. 2012/13 sem. letni

1. LICZBY DZIAŁ Z PODRĘCZNIKA L.P. NaCoBeZu kryteria sukcesu w języku ucznia

DYNAMIKA SIŁA I JEJ CECHY

Rozkład normalny, niepewność standardowa typu A

METODY NUMERYCZNE. Wykład 3. Plan. Aproksymacja Interpolacja wielomianowa Przykłady. dr hab.inż. Katarzyna Zakrzewska, prof.agh. Met.Numer.

Powtórzenie wiadomości z klasy I. Temat: Ruchy prostoliniowe. Obliczenia

II. RÓŻNICZKOWANIE I CAŁKOWANIE NUMERYCZNE Janusz Adamowski

Pochodna i różniczka funkcji oraz jej zastosowanie do obliczania niepewności pomiarowych

Metody numeryczne równań różniczkowych zwyczajnych

Iteracyjne rozwiązywanie równań

Metody Numeryczne w Budowie Samolotów/Śmigłowców Wykład I

Pierwsze dwa podpunkty tego zadania dotyczyły równowagi sił, dla naszych rozważań na temat dynamiki ruchu obrotowego interesujące będzie zadanie 3.3.

WYMAGANIA EDUKACYJNE Z MATEMATYKI KLASA I GIMNAZJUM Małgorzata Janik

1. Kinematyka 8 godzin

dr inż. Damian Słota Gliwice r. Instytut Matematyki Politechnika Śląska

Ćwiczenie M-2 Pomiar przyśpieszenia ziemskiego za pomocą wahadła rewersyjnego Cel ćwiczenia: II. Przyrządy: III. Literatura: IV. Wstęp. l Rys.

Zadanie. Oczywiście masa sklejonych ciał jest sumą poszczególnych mas. Zasada zachowania pędu: pozwala obliczyć prędkość po zderzeniu

Wektory, układ współrzędnych

Blok 6: Pęd. Zasada zachowania pędu. Praca. Moc.

MECHANIKA II. Dynamika ruchu obrotowego bryły sztywnej

Siły zachowawcze i niezachowawcze. Autorzy: Zbigniew Kąkol Kamil Kutorasiński

REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH

Plan wynikowy. z fizyki dla klasy pierwszej liceum profilowanego

Podstawy Procesów i Konstrukcji Inżynierskich. Praca, moc, energia INZYNIERIAMATERIALOWAPL. Kierunek Wyróżniony przez PKA

MECHANIKA 2. Prowadzący: dr Krzysztof Polko

WYMAGANIA EDUKACYJNE FIZYKA ROK SZKOLNY 2017/ ) wyodrębnia z tekstów, tabel, diagramów lub wykresów, rysunków schematycznych

Zasady dynamiki Newtona. dr inż. Romuald Kędzierski

RÓWNANIA NIELINIOWE Maciej Patan

Całkowanie numeryczne przy użyciu kwadratur

Wymagania edukacyjne na poszczególne oceny branżowa szkoła I stopnia klasa 1 po gimnazjum

PORÓWNANIE WYBRANYCH SCHEMATÓW RÓŻNICO- WYCH NA PRZYKŁADZIE RÓWNANIA SELECTED DIFFERENTIAL SCHEMES COMPARISON BY MEANS OF THE EQUATION

O 2 O 1. Temat: Wyznaczenie przyspieszenia ziemskiego za pomocą wahadła rewersyjnego

V. WYMAGANIA EGZAMINACYJNE

Ruch jednostajny prostoliniowy

Lekcja 5. Temat: Prawo Ohma dla części i całego obwodu

Zasady dynamiki przypomnienie wiadomości z klasy I

Transkrypt:

PJWSTK/KMKT-07082006 Laboratorium II: Modelowanie procesów fizycznych Katedra Metod Komputerowych Techniki Polsko Japońska Wyższa Szkoła Technik Komputerowych I. KINETYKA Kinetyka zajmuje się ruchem ciał pod wpływem działających na nie sił. Najważniejszym prawem kinetyki jest druga zasada dynamiki Newtona: Gdy na ciało działa siła wypadkowa (wektorowa suma sił działających), to ciało porusza się ruchem przyśpieszonym. Kierunek i zwrot tego przyspieszenia są zgodne z kierunkiem siły wypadkowej. Przyspieszenie ruchu ciała jest wprost proporcjonalne do wartości siły, a odwrotnie proporcjonalne do masy ciała. Prawo to możemy sformułować jako równanie ruchu: F = ma; (1) gdzie: F wektorowa suma wszystkich działających na ciało sił, m masa ciała, a przyspieszenie ciała. Znając masę oraz siłę wypadkową działającą na ciało, możemy określić jego przspieszenie, a w konsekwencji jego prędkość oraz przemieszczenie. Przyspieszenie ciała jest zmianą prędkości w czasie co zapisujemy w formie różniczkowej: a = dv Możemy teraz uzupełnić równanie ruchu (1) poprzez podstawienie wyrażenia (2): F = m dv Prędkość v ciała jest zmianą jego położenia w czasie, co w formie różniczkowej przedstawimy jako: (2) (3) v = ds Uzupełnijmy równanie ruchu (3) poprzez podstawienie wyrażenia (4): upraszczając: F = m d ds ; (5) F = m d2 s 2 (6) Równanie ruchu przyjęło postać równania różniczkowego drugiego stopnia. Rozwiązaniem tego równania jest zależność prędkości ciała w czasie v(t) oraz jego położenia w czasie s(t). Rozwiązanie otrzymujemy poprzez scałkowanie równania (6) po czasie otrzymując zależność v(t), oraz przez ponowne scałkowanie po czasie,otrzymując zależność s(t). Ogólna procedura rozwiązywania problemów kinetycznych: 1. Określenie właściwości ciała (w przypadku punktu materialnego jego masy) 2. Obliczenie siły wypadkowej działającej na ciało (suma wektorowa wszystkich sił zewnętrznych oraz sił reakcji) 3. Rozwiązanie równania ruchu 4. Scałkowanie równania ruchu po czasie w celu określenia prędkości, czyli zależności prędkości od czasu v(t) 5. Ponowne scałkowanie po czasie w celu określenia przesunięcia, czyli zależności położenia od czasu s(t) (4)

Problem swobodnie spadającego ciała Rozwiążmy przykładowy problem ruchu spadek swobodny. Punkt materialny umieszczony jest w polu grawitacyjnym. Przedstawia to rysunek 1: Rysunek 1 Siły działające na punkt materialny: F g siła grawitacji, m masa ciała. Ośrodek układu współrzędnych O umieszczony punkcie spoczynku ciała, tak że położenie początkowe ciała s 0=(0,0). Naszym zadaniem jest prześledzenie ruchu tego ciała, a więc okreslenie jego położnia w dowolnym rozpatrywanym czasie. Rozwiązaniem jest wspomniana zależność przesunięcia od czasu s(t). Posłużymy się zaproponowaną wcześniej ogólną procedurą rozwiązywania podobnych problemów: 1. Punkt materialny ma stałą masę m 2. Określenie sił działających na ciało. Jedyną siłą działającą na znajdujące się w spoczynku ciało jest siła grawitacji: F g = mg; (7) gdzie g przyspieszenie ziemskie. Pod wpływem stałej niezrównoważonej zewnętrznej siły, spoczywające swobodnie ciało zaczyna poruszać się ruchem jednostajnie przyspieszonym. Ponieważ środek układu odniesienia O umieszczony jest w punkcie początkowego swobodnego spoczynku ciała, a przyspieszenie ziemskie skierowane jest w dół względem tego punktu, prawa strona równania (7) jest ze znakiem minus. 3. Możemy teraz sformułować równanie ruchu dla ciała swobodnie spadającego. Ponieważ jednyną siłą działającą na punkt materialny jest siła grawitacji uzupełnimy równanie (3) wyrażeniem (7) tak że F = F g : upraszczając: mg = m dv ; (8) dv = d2 s 2 = g (9) 4. Aby znaleźć zależność prędkości ciała od czasu v(t) musimy scałkować po czasie równanie ruchu (9). Przekształćmy je do postaci umożliwiającej bezpośrednie całkowanie: dv = g ; (10) scałkujmy obie strony równania: R dv = R g = g R v = gt (11) 5. Aby odnaleźć zależność położenia ciała w okeślonym czasie wykonywania ruchu s(t) musimy ponownie scałkować równanie ruchu po czasie. Zeleżność prędkości od zmiany położenia wyrażona jest wzorem (4), przekształcimy go do postaci umożliwiającej bezpośrednie całkowanie podstawiając jako prędkość v wyrażenie (11): ds = v = gt (12) 2

scałkujmy obie strony równania: R ds = R gt = g R t ; s = gt2 (13) 2 Na podstawie równań (11) oraz (13) obliczyć można prędkość oraz położenie ciała dla każdej żądanej chwili czasowej t. Przedstawione tutaj rozwiązanie jest rozwiązaniem analitycznym. W tym przypadku rozwiązanie układu równań ruchu (poprzez całkowanie) było proste, niestety wiele problemów nie ma w ogóle rozwiązania analitycznego (danego wzorami), lub korzystanie z takich rozwiązań jest uciążliwe ze względu na ich złożoność. W takich przypadkach pozostają nam metody numeryczne. W szczególności dotyczy to problemów symulacji. Na tym samym przykładzie przedstawimy rozwiązanie całkowania ruchu metodami numerycznymi. II. NUMERYCZNE CAŁKOWANIE RÓWNANIA RUCHU Powtórzymy kroki 3 oraz 4 całkowania równania ruchu. Tym razem wykonamy je numerycznie: 4. Przypomnijmy równanie ruchu ciała spadającego swobodnie (10): dv = g Jedną z interpretacji tego równiania jest stwierdzenie że nieskończenie mała zmiana prędkości dv ciała jest równa iloczynowi przyspieszenia ziemskiego i nieskończenie małej zmienie czasu. W całkowaniu numerycznym mamy do czynienia z wartościami dyskretymi zarówno krok czasowy jak i zmiana prędkości są określonymi przedziałami. R v v0 dv = g R t t0 ; (14) Całkujemy na przedziałach oznaczonych, tak że dyskretny przyrost czasu ciała w polu grawitacyjnym prowadzi do dyskretnego przyrostu prędkości: v = g t; (15) gdzie zmiana prędkości jest różnicą prędkości chwilowej v, oraz prędkości początkowej v 0 : v = (v v 0 ) (16) Równanie (15) pozwala jedynie oszacować zmianę prędkości ciała w określonym przedziale czasu. Aby określić przybliżoną wartość prędkości chwilowej (po czasie t) musimy znać prędkość początkową v 0. Precyzyjne określenie warunków początkowych ma bezpośredni wpływ na dokładność przybliżenia numerycznego. Przepiszemy równanie (15) podstawiając wyrażenie (16): (v v 0 ) = g t; v = v 0 g t (17) Prędkość chwilowa ciała swobodnie spadającego jest sumą prędkości początkowej oraz prędkości nabytej na skutek działania przyspieszenia grawitacyjnego w dyskretnym kroku czasowym. 5. Określiliśmy prędkość chwilową. Spróbujmy określić położenie chilowe ciała dla określonego momentu ruchu. Wróćmy na chwilę do zależności zmiany położenia od prędkości, przedstawionej równaniem (12): ds = v Ponowanie całkujemy równanie ruchu postępowago aby otrzymać przesunięcie. Podobnie jak w równaniu (14) całkowanie odbywa się na określonych przedziałach. Zmiana położenia jak i czas są wartościami skończonymi: R s ds = v R t ; (18) s0 t0 Całkujemy na przedziałach oznaczonych, tak że zmiana położenia ciała jest równa drodze jakie przebywa ciało poruszające się z prędkością v przez w czasie t: s = v t; (19) 3

gdzie s jest róznicą położenia chwilwego s oraz początkowego s 0 : s = (s s 0 ) (20) Ponownie, aby precyzyjnie określić położenie chwilowe ciała musimy znać precyzyjnie jego położenie początkowe. Przepiszemy równanie (19) podstaiwając (20): s s 0 = v t; s = s 0 + v t (21) W ten oto nieformalny sposób wyjaśniliśmy metodę całkowania numerycznego zwaną także metodą Eulera. III. METODA EULERA Bardziej rygorystyczny opis metody Eulera wykonamy posługując się ogólnym rozwinięciem funkcji prędkości od czasu v(t) w szereg Taylora. Rozwinięcie w szereg umożliwia obliczenie przybliżonej wartości funkcji w pewnym punkcie, gdy znamy jej wartość i pochodną w punkcie sąsiednim. To przybliżenie ma postać nieskończonego szerego wielomianowego: v(t + t) = v(t) + ( t)v 0 (t) + " ( t) 2 2! # v 00 + " ( t) 3 3! # v 000 + : : : (22) Pierwszą pochodną predkości definiowaliśmy wcześniej jako v 0 (t) = dv. Znając wartość funkcji v(t) oraz jej pochodnej v 0 (t) możemy obliczyć v(t + t) (wartość funkcji w następnym kroku czasowym). Ponieważ nie wiemy nic na temat drugiej, trzeciej i pozostałych pochodnych funkcji, przybliżenie szeregiem Taylora obcinamy na wyrazie ( t)v 0 (t): co jest równoważne z wyrażeniem (??). v(t + t) = v(t) + ( t)v 0 (t); (23) Błąd obcięcia, błąd zaokrągleń, stabilność Pominięte wyrazy szeregu, stanowią błąd metody Eulera, tzw. błąd obcięcia. Pamiętajmy że im wyższa pochodna funkcji tym jej wartość mniejsza, stąd ich wpływ na wartość całego przybliżenia maleje. Ponieważ w metodzie Eulera obcinamy wszyskie elementy szeregy poza pierwszą pochodną, mówimy że jest to metoda pierwszego rzędu względem rozwinięcia w szereg Taylora. Mówi się też o błędzie metody aproksymacyjnej, dla metody Eulera: jest to błąd rzędu ( t) 2 ze wzgędu na dominującą wartość w odrzuconej części szeregu równą ( t) 2 v 00 (t) Jak widać na rysunku 2 2 Rysunek 2 Krok całkowania metodą Eulera, wartość funkcji gładkiej przybliżona przez łamaną. poprzez zmniejszenie kroku czasowego całkowania numerycznego, otrzymać można lepsze przybliżenie wartości dokładnej funkcji. Wiąże się to jednak ze wzrostem liczby obliczeń, a także szybszą akumulacją błędów zaokrągleń. Błędy zaokrągleń wynikają z problemu reprezentacji liczb w komputerze. Podczas zamiany liczb z systemu dziesiętnego na dwójkowy dokonywane jest przybliżenie liczby dziesiętnej tak by zmieściła się w ilości bitów dozwolonych przez dany typ (przkładowo, rzutowanie do typu double na procesorze klasy x86 zaokrągla wartość do mieszczącej się na 1 64 bitach). Przykład: 0:1 nie można przedstawić w systemie dwójkowym w postaci skończonej ilości cyfr: 16 + 1 32 + 1 256 + 1 512 + 1 4096 + 1 8192 + 1 65536 = 0:0999908 4

Przykładowy kod metody Eulera Poniżej przedstawiamy wycinek kodu realizującego krok metody Eulera dla omawianego przypadku spadku swobodnego ciała: void krokeuler(double ) double F; /* siła wypadkowa działająca na ciało */ double g; /* stała przyspieszenia ziemskiego */ double vn; /* nowa prędkośc w chwili t + */ double sn; /* nowe położenie w chwili t + */ /* obliczenie siły wypadkowej */ F = m * g; /* obliczenie przyspieszenia a = g */ a = F / m; /* obliczenie nowej prędkości w chwili t +, * gdzie v oznacza prędkośc początkową (w chwili t) */ vn = v + (a * ); /* obliczenie nowego położenia w chwili t +, * gdzie s oznacza położenie początkowe (w chwili t) */ sn = s + (vn * ); } /* podstawienie nowych wartości położenia i prędkości */ v = vn; v = sn; IV. METODA RUNGEGO KUTTY II RZĘDU (METODA PUNKTU ŚRODKOWEGO) Metoda Eulera jest wysoce nieprecyzyjna w porównaniu z innymi, bardziej złożonymi metodami numerycznymi. Fałszujące wyniki aproksymacji błędy obcięcia jak i jej niestailność sprawia, iż nie jest rekomendowana do zadań praktycznych. Przypomnijmy, metoda Eulera przybliża kolejny element funkcji na podstawie wartości oraz pochodnej w jej punkcie poprzednim. Przybliżenie to bierze pod uwagę tylko jeden element względem rozwinięcia wartości funkcji w szereg Taylora. Oznacza to iż rozpatrujemy tylko pierwszą pochodną funkcji w danym punkcie do określenia jej wartości w punkcie następnym. Przedstawiono to na rysunku 3 Rysunek 3 Metoda Eulera. W tej najprostszej (i najmniej dokładnej) metodzie całkowania numerycznego, każda kolejna wartość funkcji jest obliczana poprzez ekstrapolację pochodnej w punkcie początkowym każdego odcinka. Metoda ta ma dokładność pierwszego rzędu O( t 2 ) Załóżmy, że wykonujemy próbny krok całkowania numerycznego ale równy połowie rozpatrywanego interwału czasowego. Znajdziemy w ten sposób punk środkowy. Obliczamy pochodną w punkcie środkowym obliczając jej wartość za pomocą rozwinięcia w szereg Taylora (znamy przecież wartość punktu poprzedniego i jego pochodną w tym punkcie!). Wartość otrzymanej pochodnej punktu środkowego ekstrapolujemy na długości całego interwału (od punktu 5

początkowego) znajdując w ten sposób wartość końcową. Można powiedzieć, że w ten sposób rozszerzyliśmy metodę Eulera o następny element szeregu Taylora (poprzez rozwinięcie drugiej pochodnej funkcji źagnieżdżonymśzeregiem Taylora). Metoda punktu środkowego ma więc dokładność drugiego rzędu O( t 3 ). Algorytm tej metody przedstawia rysunek 4. Rysunek 4 Metoda punktu środkowego. Pochodna w punkcie początkowym służy do odnalezienia punktu w środku odcinka. Pochodna punktu środkowego, poprzez ekstrapolację w zakresie szerokości całego odcinka przybliża kolejną wartość funkcji. Punkty czarne reprezentują wartości przybliżanej funkcji, zaś punkty białe to punkty środkowe, których pochodna posłużyła do obliczeń właściwych wartości funkcji. Metoda ta ma dokładność drugiego rzędu O( t 3 ). Metodę punktu środkowego możemy sformalizować jako wyrażenie na kolejny elementu funkcji wględem punktu początkowego: k 1 = t v t; 0 v(t) k 2 = t v 0 t + t k1 ; v(t) + 2 2 v(t + t) = v(t) + k 2 + O( t 3 ) (24) Zastosowanie tej metody ta w przypadku spadku swobodnego ma trywialny charakter ze względu na stałe przyspieszenie ciała. Dla stałego przyspieszenia druga pochodna prędkości jest równa zero. Oznacza to iż wszystkie elementy rozwinięcia funkcji w szereg Taylora poza pierwszym będą zerowe. void krokpunktsrodkowy(double ) double F; /* siła wypadkowa działająca na ciało */ double g; /* stała przyspieszenia ziemskiego */ double vn; /* nowa prędkośc w chwili t + */ double sn; /* nowe położenie w chwili t + */ double k1, k2; /* obliczenie siły wypadkowej */ F = m * g; /* obliczenie przyspieszenia a = g */ a = F / m; k1 = a * ; k2 = a * /* obliczenie nowej prędkości w chwili t +, * gdzie v oznacza prędkośc początkową (w chwili t) */ vn = v + (k1 + k2) / 2; /* obliczenie nowego położenia w chwili t +, * gdzie s oznacza położenie początkowe (w chwili t) */ sn = s + (vn * ); } /* podstawienie nowych wartości położenia i prędkości */ v = vn; v = sn; 6

V. METODA RUNGEGO-KUTTY IV RZĘDU Tą procedurę korzystania z większej liczby wyrazów szeregu Taylora podczas przybliżania kolejnego wyrazu szukanej funkcji można prowadzić dalej. Najbardziej znaną i powszechnie stosowaną metodą numeryczną jest metoda Rungego-Kutty czwartego rzędu. W metodzie tej przybliżenie sięga czwartego elementu szeregu Taylora, a więc błąd obcięcia jest rzędu O( t 5 ). Przybliżenie funkcji metodą Rungego-Kutty odbywa się w czterech krokach. Pierwsza pochodna liczona jest w punkcie początkowym. Na jej podstawie wyznaczana jest tymczasowo pochodna punktu środkowego. Ponownie liczymy pochodną punktu środkowego ale na podstawie poprzedniej tymczasowej wartości. Wreszcie obliczamy tymczasową pochodną punktu końcowego (na podstawie drugiej pochodnej środkowej). Poprzez sumę ważoną otrzymanych pochodnych otrzymujemy wartość końcową funkcji. Powyższy algorytm przedstawiony jest na rysunku 5: Powyższy Rysunek 5 Metoda Rungego-Kutty czwartego rzędu O t 5. Dla każdego kroku metody pochodna jest obliczana czterokrotnie: w punkcie początkowym, dwukrotnie w tymczasowych punktach (białe) środkowych i raz w tymczasowym punkcie końcowym. Przybliżona kolejna wartość funkcji jest obliczana na podstawie tych pochodnych. algorym można wyrazić wzorami (wyrażenie na prędkość w nowym kroku czasowym): k 1 = t v t; 0 v(t) k 2 = t v 0 t + t k1 ; v(t) + 2 2 k 3 = t v 0 t + t k2 ; v(t) + 2 2 k 4 = t v 0 t + t; v(t) + k 3 v(t + t) = v(t) + k1 6 + k2 3 + k3 3 + k4 6 + O( t5 ) (25) Ponownie, ze względu na stałe przyspieszenie ciała zastosowanie tej metody (rozwijającej funkcję w szereg Taylora powyżej pierwszej pochodnej) jest trywialne. Wszystkie wyższe pochodne są równe zeru. Poniższy kod ilustruje zastosowanie tej metody w przypadku spadku swobodnego ciała: void krokrungekutta(double ) double F; /* siła wypadkowa działająca na ciało */ double g; /* stała przyspieszenia ziemskiego */ double vn; /* nowa prędkośc w chwili t + */ double sn; /* nowe położenie w chwili t + */ double k1, k2, k3, k4; /* obliczenie siły wypadkowej */ F = m * g; /* obliczenie przyspieszenia a = g */ a = F / m; k1 = a * ; k2 = a * ; k3 = a * ; 7

k4 = a * ; /* obliczenie nowej prędkości w chwili t +, * gdzie v oznacza prędkośc początkową (w chwili t) */ vn = v + (k1 + (2 * k2) + (2 * k3) + k4) / 6; /* obliczenie nowego położenia w chwili t +, * gdzie s oznacza położenie początkowe (w chwili t) */ sn = s + (vn * ); } /* podstawienie nowych wartości położenia i prędkości */ v = vn; v = sn; 8