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

Podobne dokumenty
Szukanie rozwiązań funkcji uwikłanych (równań nieliniowych)

Definicje i przykłady

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

Całkowanie numeryczne

Matematyka z el. statystyki, # 4 /Geodezja i kartografia I/

Całkowanie numeryczne

I. Pochodna i różniczka funkcji jednej zmiennej. 1. Definicja pochodnej funkcji i jej interpretacja fizyczna. Istnienie pochodnej funkcji.

Elementy rachunku różniczkowego i całkowego

IX. Rachunek różniczkowy funkcji wielu zmiennych. 1. Funkcja dwóch i trzech zmiennych - pojęcia podstawowe. - funkcja dwóch zmiennych,

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

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

Funkcje dwóch zmiennych

Obliczenia iteracyjne

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

1 Równania różniczkowe zwyczajne o rozdzielonych zmiennych

Metody numeryczne. materiały do wykładu dla studentów. 7. Całkowanie numeryczne

JAK PROSTO I SKUTECZNIE WYKORZYSTAĆ ARKUSZ KALKULACYJNY DO OBLICZENIA PARAMETRÓW PROSTEJ METODĄ NAJMNIEJSZYCH KWADRATÓW

Równania różniczkowe liniowe wyższych rzędów o stałych współcz

Równania różniczkowe wyższych rzędów

Metody numeryczne rozwiązywania równań różniczkowych

Równania różniczkowe liniowe II rzędu

1.1 Przegląd wybranych równań i modeli fizycznych. , u x1 x 2

Wyprowadzenie wzoru na krzywą łańcuchową

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

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

RÓWNANIA RÓŻNICZKOWE WYKŁAD 2

13. Równania różniczkowe - portrety fazowe

27. RÓWNANIA RÓŻNICZKOWE CZĄSTKOWE

Definicja i własności wartości bezwzględnej.

Rachunek różniczkowy funkcji dwóch zmiennych

3. FUNKCJA LINIOWA. gdzie ; ół,.

Kinematyka: opis ruchu

Zastosowanie Excela w obliczeniach inżynierskich.

Zagadnienia brzegowe dla równań eliptycznych

Geometria analityczna

METODY ROZWIĄZYWANIA RÓWNAŃ NIELINIOWYCH

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

1 Pochodne wyższych rzędów

Ruch jednostajnie zmienny prostoliniowy

Podstawy fizyki sezon 1 VII. Ruch drgający

Rozwiązywanie równań nieliniowych

Lista zadań nr 2 z Matematyki II

MECHANIKA II. Dynamika ruchu obrotowego bryły sztywnej

ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ NIELINIOWYCH PRZY POMOCY DODATKU SOLVER PROGRAMU MICROSOFT EXCEL. sin x2 (1)

Różniczkowanie numeryczne

MECHANIKA 2. Drgania punktu materialnego. Wykład Nr 8. Prowadzący: dr Krzysztof Polko

5 Równania różniczkowe zwyczajne rzędu drugiego

Równanie przewodnictwa cieplnego (I)

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

Fizyka 11. Janusz Andrzejewski

ROZWIĄZANIA I ODPOWIEDZI

Wstęp do metod numerycznych 9a. Układy równań algebraicznych. P. F. Góra

Matematyka I. Bezpieczeństwo jądrowe i ochrona radiologiczna Semestr zimowy 2018/2019 Wykład 12

Rachunek całkowy - całka oznaczona

Matematyka licea ogólnokształcące, technika

FUNKCJA LINIOWA, RÓWNANIA I UKŁADY RÓWNAŃ LINIOWYCH

5. Równania różniczkowe zwyczajne pierwszego rzędu

KRYTERIA OCENIANIA Z MATEMATYKI W OPARCIU O PODSTAWĘ PROGRAMOWĄ I PROGRAM NAUCZANIA MATEMATYKA 2001 DLA KLASY DRUGIEJ

Równania różniczkowe liniowe rzędu pierwszego

WYMAGANIE EDUKACYJNE Z MATEMATYKI W KLASIE II GIMNAZJUM. dopuszczającą dostateczną dobrą bardzo dobrą celującą

Równania różniczkowe zwyczajne

RÓWNANIA RÓŻNICZKOWE WYKŁAD 4

Metody numeryczne równań różniczkowych zwyczajnych

DRGANIA SWOBODNE UKŁADU O DWÓCH STOPNIACH SWOBODY. Rys Model układu

Metoda rozdzielania zmiennych

VII. Elementy teorii stabilności. Funkcja Lapunowa. 1. Stabilność w sensie Lapunowa.

Tydzień nr 9-10 (16 maja - 29 maja), Równania różniczkowe, wartości własne, funkcja wykładnicza od operatora - Matematyka II 2010/2011L

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

Biotechnologia, Chemia, Chemia Budowlana - Wydział Chemiczny - 1

Funkcje liniowe i wieloliniowe w praktyce szkolnej. Opracowanie : mgr inż. Renata Rzepińska

Nazwisko i imię: Zespół: Data: Ćwiczenie nr 1: Wahadło fizyczne. opis ruchu drgającego a w szczególności drgań wahadła fizycznego

RÓWNANIA RÓŻNICZKOWE ZWYCZAJNE

1 Równania różniczkowe zwyczajne

3. Macierze i Układy Równań Liniowych

Analiza matematyczna dla informatyków 3 Zajęcia 14

1 Funkcje dwóch zmiennych podstawowe pojęcia

Równania różniczkowe wyższych rzędów

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

Wykłady z Matematyki stosowanej w inżynierii środowiska, II sem. 2. CAŁKA PODWÓJNA Całka podwójna po prostokącie

Wykład 14 i 15. Równania różniczkowe. Równanie o zmiennych rozdzielonych. Definicja 1. Równaniem różniczkowym zwyczajnym rzędu n nazywamy równanie

- prędkość masy wynikająca z innych procesów, np. adwekcji, naprężeń itd.

Funkcje wymierne. Jerzy Rutkowski. Działania dodawania i mnożenia funkcji wymiernych określa się wzorami: g h + k l g h k.

Całki nieoznaczone. 1 Własności. 2 Wzory podstawowe. Adam Gregosiewicz 27 maja a) Jeżeli F (x) = f(x), to f(x)dx = F (x) + C,

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

Komputerowa analiza zagadnień różniczkowych 10. Dwupunktowe problemy brzegowe (BVP, Boundary Value Problems)

1. PODSTAWY TEORETYCZNE

BADANIE DRGAŃ TŁUMIONYCH WAHADŁA FIZYCZNEGO

WYMAGANIA EDUKACYJNE NIEZBĘDNE DO UZYSKANIA ŚRÓDROCZNYCH I ROCZNYCH OCEN KLASYFIKACYJNYCH Z MATEMATYKI W KLASIE III GIMNAZJUM

MATEMATYKA 8. Funkcje trygonometryczne kąta ostrego (α < 90 ). Stosunki długości boków trójkąta prostokątnego nazywamy funkcjami trygonometrycznymi.

Układy równań i równania wyższych rzędów

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

y(t) = y 0 + R sin t, t R. z(t) = h 2π t

Na podstawie informacji zdobytych na poprzednich zajęciach proszę wykonać następujące zadania:

CHARAKTERYSTYKI CZĘSTOTLIWOŚCIOWE

========================= Zapisujemy naszą funkcję kwadratową w postaci kanonicznej: 2

EGZAMIN MATURALNY Z MATEMATYKI

Excel - użycie dodatku Solver

dr inż. Ryszard Rębowski 1 WPROWADZENIE

Wykład 3 Równania rózniczkowe cd

KINEMATYKA I DYNAMIKA CIAŁA STAŁEGO. dr inż. Janusz Zachwieja wykład opracowany na podstawie literatury

Transkrypt:

Numeryczne rozwiązywanie równań różniczkowych Równanie różniczkowe jest to równanie, w którym występuje pochodna (czyli różniczka). Przykładem najprostszego równania różniczkowego może być: y ' = 2x które można też zapisać jako: dy 2x dx = Powyższa forma zapisu jest o tyle lepsza, że informuje względem jakiej zmiennej zachodzi różniczkowanie, co jest istotne w przypadku równań zawierających wiele zmiennych. Oczywiście, jak wiadomo, funkcją pierwotną do 2x jest x 2, czyli (x 2 ) =2x. W rzeczywistości pełne rozwiązanie ma postać: y = 2x + C, gdzie C jest nieznaną stałą, której pochodna po prostu jest równa 0. Aby dowiedzieć się, jaka jest wartość C, musimy, oprócz samej różniczki, znać również tzw. warunek brzegowy (zwany niekiedy warunkiem początkowym), czyli rozwiązanie równania dla określonej wartości x, np. jeżeli wiemy, że dla x = 0 y = 8 (czyli y(0) = 8), to oczywiście C = 8. Pełny zapis powyższego równania różniczkowego będzie miał w takim razie postać: dy = 2x dx y(0) = 8 Rozwiązaniem tego równania będzie funkcja y = x 2 + 8. Pamiętajmy, że w treści zadania zawsze musi być podany warunek brzegowy, w przeciwnym przypadku zadanie jest nierozwiązywalne. Ogólna postać równania różniczkowego (do której zawsze należy dążyć, odpowiednio przekształcając badane równanie) jest następująca: dy = f ( x, y) dx y ( x0 ) = y0 Jak więc widzimy, rozwiązaniem równania różniczkowego nie jest pojedyncza liczba (jak było w przypadku całkowania) lecz funkcja y(x). Istnieją metody analitycznego rozwiązywania równań różniczkowych, jednak jest to zwykle dosyć złożone, a niekiedy niemożliwe. Przy pomocy arkusza kalkulacyjnego możemy numerycznie wyznaczyć rozwiązanie równania różniczkowego w postaci tabeli x, y oraz wykresu y(x). Metody numeryczne rozwiązywania równań różniczkowych oparte są na interpretacji geometrycznej równania różniczkowego. Najprostszą z nich jest metoda Eulera. Zakładamy, że kolejne punkty rozwiązania oddalone są od siebie na osi x co krok h, a na osi y co y: x = n 1 x + + n h Z definicji pochodnej (jako tangens kąta nachylenia stycznej) wiemy, że: y y = h czyli: y f ( xn, yn ) = y = h Po przekształceniu: y = h f x, y ( ) Ponieważ szukamy wzoru na następne y, to do wzoru yn+ 1 = yn + y podstawiamy wyżej wyliczone y i otrzymujemy ostatecznie: yn+ 1 = yn + h f ( xn, yn ) Zauważmy, że dla bardzo małych wartości h (odpowiadającej różniczce dx) równanie to jest równoważne równaniu, będącego efektem całkowania równania podstawowego: n n

xn+ 1 = + n+ 1 n n, n xn ( ) y y f x y dx Oczywiście widoczna w tym równaniu całka jest równa polu pod wykresem funkcji, przy założeniu h = dx będącego polem prostokąta ograniczonego wartościami x n i x n+1. Jest to powód, dla którego niekiedy metodę Eulera nazywa się metodą prostokątów. Wyżej opisaną metodę Eulera zaimplementujemy w arkuszu kalkulacyjnym. Rozwiążemy przy jej pomocy przykładowe równanie: dy = xy dx y ( 0) = 1 Równanie to ma tę zaletę, że posiada rozwiązanie analityczne i jest ono równe: sprawdzenie wyniku, otrzymanego metodą numeryczną. 2 x 2 y = e, co umożliwi Przede wszystkim należy sporządzić tabelę wartości x, gdzie pierwszą wartością będzie wartość początkowa x (w naszym przykładzie 0), a kolejne będą następowały co krok h. Ilość kroków nie jest określona od nas zależy, jak długo chcemy badać analizowane równanie. Należy jednak pamiętać, że krok ten musi być możliwie jak najmniejszy (oczywiście w granicach rozsądku). Jeżeli np. rozwiązywane równanie różniczkowe opisuje zjawisko trwające godzinę, to narzucającą się wartością h jest 1 sekunda (czyli co sekundę nadamy stan zjawiska). W naszym przykładzie wybieramy krok h = 0,1, natomiast zbadamy rozwiązanie do wartości x = 1 (nie zapomnijmy o nadaniu wartości zmiennej h). Często jako pierwsza kolumnę podaje się tzw. iterację (i), czyli numerację kolejnych kroków rozwiązania, przy czym pierwsza iteracja jest to tzw. iteracja zerowa obejmuje ona opis podanych w problemie warunków początkowych (brzegowych).

Następnie wpisujemy, znaną z warunku brzegowego, wartość rozwiązania y w iteracji zerowej (dla x=0 jest ona równa 1, gdyż y(0)=1): W kolejnej kolumnie (nazwijmy ją Euler) wpisujemy wartość członu Eulera, czyli iloczyn kroku h i funkcji, a w tym przykładzie f(x,y)=x y, czyli w zerowej iteracji: Następnie, zgodnie z wzorem Eulera, obliczamy kolejną wartość y (w pierwszej iteracji), równą sumie poprzedniej wartości y i odpowiadającego jej członu Eulera:

W efekcie otrzymujemy: Musimy teraz policzyć człon Eulera dla pierwszej iteracji. Można oczywiście wpisać formułę =h*c7*d7, jednak można zastosować tutaj adresowanie względne, czyli skopiować formułę z komórki E6 do komórki E7 będzie ona teraz dotyczyła wartości x i y z pierwszej iteracji: Jedyne, co nam teraz pozostało, to powielić parę komórek y,euler dla wszystkich iteracji:

Rozwiązaniem jest oczywiście kolumna y, tak więc graficznym rozwiązaniem będzie wykres y(x): Metoda Eulera nie jest jednak metodą dokładną, co wynika chociażby z przybliżania pola całkowania prostokątami. Znacznie dokładniejsze są metody, gdzie kolejna wartość y przewidywana jest na podstawie ekstrapolacji stycznej do aktualnie analizowanego odcinka krzywej y(x). Metody te nazywamy metodami Rungego-Kutty. Poniżej zostanie opisana implementacja metody Rungego-Kutty czwartego rzędu (RK4). W metodzie RK4 kolejna wartość y podana jest wzorem: 1 y = n 1 y + + n ( k1 2 k2 2 k3 k4 ) 6 + + + gdzie czlony k 1, k 2, k 3 i k 4 (tzw. współczynniki Rungego-Kutty) dane są wzorami: k = h f x, y 1 ( ) 1 1 k2 = h f xn + h, yn + k1 2 2 1 1 k3 = h f xn + h, yn + k2 2 2 k4 = h f ( xn + h, yn + k3 ) Argumenty funkcji f należy rozumieć w sensie jej parametryzacji, np. f x, y = sin x cos y gdy: ( ) to: k = sin x cos y 1 1 1 k2 = sin x + h cos y + k1 2 2 1 1 k3 = sin x + h cos y + k2 2 2 k = sin x + h y + k ( ) cos( ) 4 3 n n

Poniżej zostanie ponownie wyznaczone rozwiązanie równania (tego samego, które rozwiązałem wcześniej metodą Eulera): dy = xy dx y ( 0) = 1 tym razem metodą Rungego-Kutty. Aby móc porównać rozwiązania, wyznaczone obiema metodami, wykorzystam uprzednią tabelę danych, w szczególności kolumnę x. Kolumnę y, wyznaczoną metodą Eulera, nazwę y E, kolumnę y, wyznaczoną metodą Rungego-Kutty, nazwę y RK. Oczywiście w iteracji zerowej y RK wpisujemy warunek brzegowy wartości y w tym zadaniu, czyli 1. Następnie kolejno wyliczamy wartości współczynników RK w iteracji zerowej dla f(x,y)=x y. Wartość k 1 :

Wartość k 2 : Wartość k 3 : Wartość k 4 :

W efekcie otrzymujemy wypełnioną iterację zerową: W kolejnym kroku wyliczamy wartość y RK dla pierwszej iteracji: i w rezultacie:

Teraz oczywiście należałoby policzyć współczynniki RK dla pierwszej iteracji. Skorzystajmy jednak po prostu z adresowania względnego i powielmy komórki G6:J6 w wierszu 7, wyrównując szereg a potem już pozostaje tylko powielić cały szereg F7:J7 do wszystkich iteracji i w kolumnie y RK znajdziemy rozwiązanie analizowanego równania różniczkowego.

Jak widać, wyniki otrzymane metodą Eulera i metodą Rungego-Kutty są do siebie podobne, aby jednak podobieństwo to stało się wyraźniejsze (i aby dokończyć rozwiązywania równania), do poprzedniego wykresu, przedstawiającego y E (x) dodamy serię y RH (x): Wyraźnie widoczne jest podobieństwo obu krzywych. Wiemy, że metoda Eulera jest bardzo przybliżona. Na ile jednak dokładna jest metoda Rungego-Kutty? Jak już wspomniałem, przykładowe równanie ma dokładne rozwiązanie analityczne, które można porównać z rozwiązaniami otrzymanymi metodą numeryczną: Jak widać, wartości otrzymane metodą RK są praktycznie identyczne z wartościami otrzymanymi metodą analityczną. Oznacza to, że jeśli chcemy zależy nam na dokładności obliczeń, powinniśmy używać metody Rungego-Kutty, jeśli natomiast chcemy np. jedynie określić trend zjawiska, wtedy można otrzymać szybkie rozwiązanie metodą Eulera, oczywiście przy odpowiednio małym kroku h. Zalecam rozwiązywanie równań różniczkowych obiema metodami wyniki muszą być podobne, co pozwala na ich wzajemną samokontrolę. Z przykładem rozwiązania równania różniczkowego można zapoznać się na stronie: http://vistula.pk.edu.pl/~sciezor/calkowanie.xls

Numeryczne rozwiązywanie układów równań różniczkowych i równań różniczkowych drugiego rzędu Jak dotąd opisałem metody rozwiązywania równań różniczkowych pierwszego rzędu, czyli równań zawierających pierwszą pochodną zmiennej. Często jednak trzeba rozwiązać układ równań różniczkowych lub równanie różniczkowe drugiego rzędu (czyli zawierające drugą pochodną zmiennej). W rzeczywistości te dwa zagadnienia stanowią ten sam problem, gdyż każde równanie różniczkowe drugiego rzędu można sprowadzić do układu dwóch równań różniczkowych pierwszego rzędu. W przypadku, gdy mamy układ równań różniczkowych pierwszego rzędu: y = g ( x, y, z) u = f ( x, y, z) formuły Rungego-Kutty mają następującą postać: gdzie: k1 = h g x, y, u q1 = h f x, y, u ( n n n ) ( ) n n n 1 1 1 k2 = h g xn + h, yn + k1, un + q1 2 2 2 1 1 1 q2 = h f xn + h, yn + k1, un + q1 2 2 2 1 1 1 k3 = h g xn + h, yn + k2, un + q2 2 2 2 1 1 1 q3 = h f xn + h, yn + k2, un + q2 2 2 2 ( n, n, n ) (,, ) k4 = h g x + h y + k3 u + q3 q = h f x + h y + k u + q 4 n n 3 n 3 1 y = y + k + k + k + k 6 1 u = u + q + q + q + q 6 ( 2 2 ) n+ 1 n 1 2 3 4 ( 2 2 ) n+ 1 n 1 2 3 4 W przypadku równań różniczkowych drugiego rzędu dokonujemy podstawienia y =u, dzięki któremu równanie różniczkowe drugiego rzędu staje się układem równań różniczkowych pierwszego rzędu: y = u u = a u + b y + c W tym przypadku powyższe wzory na współczynniki k upraszczają się i przyjmują postać (współczynniki q wylicza się, niestety, z powyższych wzorów): k1 = h un 1 k2 = h un + q1 2 1 k3 = h un + q2 2 k4 = h ( un + q3 )

Przykład 1: y + y + y = sin x y ( 0) = 0 y ( 0) = 0 Zauważmy, że w przypadku równań różniczkowych drugiego rzędu podaje się dwa warunki brzegowe: jeden dotyczący samej wartości y, drugi dotyczący jej pierwszej pochodnej! Pamiętajmy również, że rozwiązaniem równania różniczkowego drugiego rzędu są dwie zależności: y(x) oraz y (x). Aby móc rozwiązać powyższe równanie, musimy poprzez wprowadzenie parametru u zamienić je na układ dwóch równań różniczkowych pierwszego rzędu: y = u u = sin x y u Układ ten rozwiążemy przy kroku hm równym 0,1 aż do wartości x równej 2: Jako wartości współczynników RK wpisujemy:

Dla k 1 : Dla q 1 :

Dla k 2 : Dla q 2 :

Dla k 3 : Dla q 3 :

Dla k 4 : Dla q 4 : Gdy mamy policzone już wszystkie współczynniki RK w zerowej iteracji, możemy przejść do wypełniania pierwszej iteracji.

Obliczamy kolejną wartość y oraz kolejną wartość y (czyli u):

Teraz obliczamy wartości współczynników RK dla pierwszej iteracji, oczywiście wykorzystując adresowanie względne (kopiujemy szereg komórek F5:M5 do wiersza 6): Na koniec powielamy cały szereg D5:M5 do wszystkich iteracji:

Powinniśmy jeszcze przedstawić otrzymane zależności y(x) i y (x) w postaci wykresów: Z opisywanym przykładem rozwiązania równania różniczkowego można zapoznać się na stronie: http://vistula.pk.edu.pl/~sciezor/rozniczka2.xls w zakładce Przykład 1 Przykład 2 (wahadło fizyczne): Poniższe równanie opisuje ruch wahadła fizycznego w czasie. 2 d θ g + sinθ = 0 2 dt L θ ( t = 0) = 0,8 θ ( t = 0) = 0 gdzie: θ kąt wychylenia wahadła [radiany] θ prędkość kątowa ruchu wahadła [radiany/s] t czas [s] L długość wahadła [m] = 0,75 m g przyspieszenie ziemskie = 9,81 m/s 2 Aby móc rozwiązać powyższe równanie, przekształcamy je w układ równań: θ = u g u = sinθ L

Po wykonaniu analogicznych, jak w Przykładzie 1 obliczeń, otrzymamy: Wychylenie wahadła w funkcji czasu: Prędkość kątowa wahadła w funkcji czasu: Tym razem nie podaję tu pełnej ścieżki rozwiązania proszę spróbować samemu. Z opisywanym przykładem rozwiązania równania różniczkowego można zapoznać się na stronie: http://vistula.pk.edu.pl/~sciezor/rozniczka2.xls w zakładce wahadło

Przykład 3 (drgania tłumione sprężyny) Poniższe równanie opisuje drgania tłumione sprężyny. 2 d x dx 2 + 2β + ω 2 0 x = 0 dt dt x( t = 0) = 1 x ( t = 0) = 0 gdzie: x rozciągnięcie sprężyny [m] x prędkość ruchu sprężyny [m/s] β współczynnik tłumienia = 1,8 ω 0 częstotliwość drgań własnych [1/s] = 10 Tym razem nie będzie podpowiedzi. Radzę rozwiązać poprawność rozwiązania każdy powinien rozpoznać na podstawie poniższych wykresów. Widać, że sprężyna przestanie drgać po ok. 4 s (radzę wziąć mały krok próbkowania: h=0,01).