• Nie Znaleziono Wyników

Metody numeryczne Grzegorz Graczyk, 150875 Paweł Tarasiuk, 151021

N/A
N/A
Protected

Academic year: 2021

Share "Metody numeryczne Grzegorz Graczyk, 150875 Paweł Tarasiuk, 151021"

Copied!
2
0
0

Pełen tekst

(1)

Metody numeryczne

Grzegorz Graczyk, 150875 Paweł Tarasiuk, 151021

Równanie różniczkowe zwyczajne

Informacje o metodzie

Metoda RK4 jest metodą do iteracyjnego rozwiązywania równań różniczkowych zwyczajnych.

Jest to uogólniona wersja metody Eulera. W wypadku metody Eulera kolejna wartość liczona jest na podstawie wartości policzonej w 1 punkcie - stąd nazywana jest czasami metodą RK1.

W wypadku metody RK4 liczone są 4 punkty z których każdy jest obliczany na podstawie poprzednich. W ten sposób otrzymujemy metodę podobną w działaniu lecz w pewnym stopniu bardziej odporną szczególne przypadki.

Informacje o implementacji

Program został napisany w języku Python z wykorzystaniem narzędzia gnuplot do rysowania wykresów.

Program wykonuje pewne operacje na wektorach, upraszczając znacznie zapis kluczowych funkcji programu. Język Python co prawda nie oferuje operacji na wektorach, natomiast jego składnia znacznie ułatwia ich własną implementację.

Znacznym fragmentem kodu jest opis równania różniczkowego z przykładu 5.5. Program został napisany w sposób, który umożliwia podanie całości danych jako argumenty funkcji - funkcja rozwiązująca równanie jest niezależna od podanych danych i traktuje je jako argumenty.

Ze względu na elastyczność funkcji różniczkującej skrypt rysujący wykres nie jest uruchamia- ny automatycznie - nie można przewidzieć w jakiej postaci dane powinny być zaprezentowane.

Wyniki

Program został przetestowany na przykładzie rzutu. Taki rzut można opisać prostymi wzo- rami:

d v

x

(t)

dt = a

x

= 0 m s

2

d v

y

(t)

dt = a

y

= −9.81 m s

2

d s

x

(t)

dt = v

x

d s

y

(t)

dt = v

y

Zapisując to w postaci wzoru matematycznego:

y

0

= [0, 0, 100 · cos α, 100 · sin α]

oraz

y0 = f (t, y = [s

x

, s

y

, v

x

, v

y

]) = [v

x

, v

y

, 0, −9.81]

.

Grzegorz Graczyk i Paweł Tarasiuk, Metody Numeryczne, Zadanie 6 1 / 2

(2)

Do programu zostały również wprowadzone dane z przykładu 5.5. Ze względu na duży stopień skomplikowania wzorów w nim zawartych zamieszczamy jedynie wynikowe wykresy dla tego przykładu.

Wykresy do tego przykładu znajdują się na osobnej kartce.

Wnioski

• Nie jesteśmy w stanie ocenić dokładności obliczeń, natomiast na podstawie wykresów mo- żemy się spodziewać poprawności obliczeń. Aby porównać wyniki z przewidywaniami po- służyliśmy się drugim przykładem - takim w którym możemy przewidzieć wyniki.

• Wykresem, z którego najłatwiej ocenić poprawność obliczeń jest wykres różnych zmiennych w rzucie pod określonym kątem. Wykresy wartości mają kształty zgodne z oczekiwaniami - podstawowymi własnościami fizycznymi.

• Wykres trajektorii rzutów również pozwala stwierdzić poprawność obliczeń. Zgodnie z prze- widywaniami rzut pod kątem 45 stopni posiada największy zasięg, zaś rzuty pod kątami 30 i 60 stopni mają taki sam zasięg.

• Wiedza na temat algorytmu pozwala nam również stwiedzić, że obliczenia nie są dokładne nawet w sensie matematycznym - użyte wzory są jedynie przybliżeniem.

Grzegorz Graczyk i Paweł Tarasiuk, Metody Numeryczne, Zadanie 6 2 / 2

Cytaty

Powiązane dokumenty

W wielu przypadkach program komputerowy generuje ciąg

• zadowalająco mała wartość funkcji.

Pokaż, że niejawna metoda różnic skończonych zastosowana do równania przewodnictwa cieplnego jest stabilna.. Pokaż, że metoda Cranka-Nicolson do rozwiązywania

rok akademicki 2018/19 semestr letni.

W wielu przypadkach program komputerowy generuje ciąg przybliżeń rozwiązania..

• MathWorks, Documentation Center, Partial Differential Equation

Just, Algebraiczne metody rozwiązywania równania Schrödingera, Wydawnictwo Naukowe PWN.. Materiały

Meyer, Matrix Analysis and Applied Linear Algebra.. Karol Tarnowski