Metody Obliczeniowe Fizyki
Transkrypt
Metody Obliczeniowe Fizyki
Jacek Mostowicz 11.XI.2006 Metody Obliczeniowe Fizyki Projekt B: Krzywa pogoni Zadany problem: Cały problem składał się z dwóch części w każdej z nich należało wyznaczyć krzywą pogoni „psa za kotem”. W pierwszej należało rozpatrzyć przypadek, w którym kot ucieka po linii prostej. Drugi przypadek uwzględnia ucieczkę kota po okręgu. Rozwiązanie: Do rozwiązywania równań różniczkowych pierwszego rzędu w każdym przypadku zastosowano metodę Rungego-Kutty rzędu 4. 1. kot ucieka po linii prostej; Kot ucieka po prostej danej równaniem ruchu: ⎧ x1 (t ) = v1t G r (t ) = ⎨ ⎩ y1 (t ) = const. Rozwiązując poniższy układ równań różniczkowych: x2 = v2 x2 = v2 x1 (t ) − x2 (t ) ( x1 (t ) − x2 (t ) ) + ( y1 (t ) − y2 (t ) ) 2 2 y1 (t ) − y2 (t ) ( x1 (t ) − x2 (t ) ) + ( y1 (t ) − y2 (t ) ) 2 2 otrzymano krzywą pogoni psa. Zmienia się ona oczywiście w zależności od warunków początkowych. Standardowo przyjęto, że: ⎧ x1 (t = 0) = 0 ⎨ ⎩ y1 = 1 ⎧ x2 (t = 0) = 0 ⎨ ⎩ y2 (t = 0) = 0 Rozpatrzono następujące przypadki: 1.1 v1 > v2 v1>v2 1,2 1 0,8 0,6 0,4 0,2 0 0 0,5 1 1,5 kot 2 2,5 pies wykres 1 Obliczenia wykonano dla v1 = 2 i v2 = 1 dla N = 10000 iteracji. Dla takich wartości prędkości oczywistym jest, że pies nie złapie kota. 1.2 v1 = v2 v1=v2 1,2 1 0,8 0,6 0,4 0,2 0 0 0,2 0,4 0,6 kot 0,8 1 1,2 pies wykres 2 Tym razem v1 = 1 i v2 = 1 oraz N = 10000 . Jak można się przewidzieć i tym razem pies jest bez szans. 1.3 v1 < v2 v1<v2 1,2 1 0,8 0,6 0,4 0,2 0 0 0,2 0,4 0,6 0,8 kot 1 1,2 1,4 pies wykres 3 Do obliczeń przyjęto v1 = 1 oraz v2 = 1,5 . W tym przypadku można się spodziewać, że kot zostanie złapany. Nastąpiło to po i = 12012 iteracji w punkcie o współrzędnych: ⎧ x = 1, 20115245 ⎨ ⎩y =1 Niestety obliczenia numeryczne są obarczone pewnym błędem mianowicie nie można bezpośrednio porównać współrzędnych psa i kota. Dlatego też, aby określić punkt, w którym kot zostaje złapany zastosowano pewne założenie, mianowicie: pies jest środkiem pewnego okręgu, jeżeli kot znajdzie się w jego wnętrzu przyjmujemy, że został on złapany. W celu określenia tego promienia mnożymy prędkość psa przez krok czasowy, czyli: ε = v2 ⋅ dt W tym przypadku: ε = 0, 00015 ε jest niewielką liczbą dzięki temu nie popełnia się dużego błędu. Dzięki temu powyższe założenie wiernie oddaje rzeczywistość. v1<v2 1,2 1 0,8 0,6 0,4 0,2 0 0 0,2 0,4 0,6 0,8 kot 1 1,2 1,4 pies wykres 4 W tym przypadku przyjęto, że v1 = 1 i v2 = 3 . Jak można przypuszczać złapanie kota nastąpiło wcześniej niż w poprzednim przypadku. Ilość iteracji i = 3782 . Współrzędne punktu złapania: Promień ε = 0, 0003 . ⎧ x = 0,378184014 ⎨ ⎩y =1 2. kot ucieka po okręgu; Kot ucieka po okręgu danym równaniem ruchu: ⎧ x1 (t ) = r cos(ωt ) G r (t ) = ⎨ ⎩ y1 (t ) = r sin(ωt ) Układ równań różniczkowych opisujący krzywą ruchu psa pozostał bez zmian. W tym punkcie rozpatrzono trzy przypadki. 2.1 v1 < v2 Dla tego przypadku przyjęto, że v1 = 1 i v2 = 2 . Kot został złapany po iteracji i = 580 w punkcie: ⎧ x = 0,837555408 ⎨ ⎩ y = 0,548545378 Podobnie jak w poprzedniej części, ale już dla każdej współrzędnej przyjęto pewien promień, w którym kot będzie łapany η = 0, 002 . W tym przypadku jest on większy o rząd wielkości z powodu dużej ilości generowanych danych. Mimo tego obliczenia oddają dość dokładnie rzeczywistość. v1<v2 0,6 0,5 0,4 0,3 0,2 0,1 0 0 0,2 0,4 0,6 kot 0,8 1 1,2 pies wykres 5 Poniżej podobny przypadek, ale obliczony dla innych wartości prędkości: v1 = 1 i v2 = 1,5 . Kot został złapany po iteracji i = 920 . v1<v2 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0 0 0,2 0,4 0,6 kot wykres 6 0,8 pies 1 1,2 2.2 v1 = v2 v1=v2 1,5 1 0,5 0 -1,5 -1 -0,5 0 0,5 1 1,5 -0,5 -1 -1,5 kot pies wykres 7 Do obliczeń przyjęto v1 = v2 = 1 , a sam program wykonał i = 5000 iteracji. 2.3 v1 > v2 v1>v2 1,5 1 0,5 0 -1,5 -1 -0,5 0 0,5 -0,5 -1 -1,5 kot pies wykres 8 1 1,5 W tym przypadku wartości prędkości przyjęto: v1 = 1 i v2 = 0,5 . Program wykonał i = 5000 iteracji. Jak widać na wykresie 8 kot nie został złapany. Uruchomienie programu dla większej ilości iteracji nie przyniesie jakiegokolwiek efektu. Wnioski: Metoda rozwiązywania równań różniczkowych Rungego-Kutty rzędu 4 nadaje się do numerycznego obliczenia zadanego problemu. W każdym z przypadku udało się uzyskać zadowalający wynik. Odpowiadając na pytanie zadane w temacie pracy: Czy jest możliwe dogonienie celu przy v2 < ω r ? nie, nie jest to możliwe. Pokazuje to wykres 8. Dodatkowo można pokazać, że jeżeli jest prędkością kątową kota to: ω= otrzymujemy: v1 . Wstawiając to do powyższej nierówności r v2 < ω r = Jak widać kot uciekający z prędkością psa. ω v1 r = v1 r v1 nie może zostać złapany przez wolniejszego