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

Podobne dokumenty