Metody obliczeniowe fizyki i techniki I. 30h wykładu, 15h projektu

Podobne dokumenty
równania funkcyjne opisujące relacje spełniane przez pochodne nieznanej (poszukiwanej) funkcji

pozbyć się ograniczenia na krok czasowy ze strony bezwzględnej stabilności: niejawna metoda Eulera

y i b) metoda różnic skończonych nadal problem nieliniowy 2 go rzędu z warunkiem Dirichleta

Prawa fizyki: zapisywane w postaci równań różniczkowych (Newtona, Maxwella, dyfuzji, falowe, Poissona, Laplace a, Naviera-Stokesa, Schroedingera)

Zagdanienia do egzaminu z Inżynierskich Metod Numerycznych - semestr 1

x y

inżynierskie metody numeryczne cel przedmiotu:

Egzamin z Metod Numerycznych ZSI, Grupa: A

inżynierskie metody numeryczne D10/325,

Zagdanienia do egzaminu z Inżynierskich Metod Numerycznych - semestr zimowy 2017/2018

inżynierskie metody numeryczne D10/325, Konsultacje 8:00 9:30

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

inżynierskie metody numeryczne D11/106, konsultacje: piątki 8:30-10:30

ciało w potencjale radialnym schemat Eulera orbity kontrola kroku czasowego

Wprowadzenie Metoda bisekcji Metoda regula falsi Metoda siecznych Metoda stycznych RÓWNANIA NIELINIOWE

Inżynierskie metody numeryczne II. Konsultacje: wtorek 8-9:30. Wykład

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH

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

u(t) RRZ: u (t)=f(t,u) Jednokrokowy schemat różnicowy

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

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

Metody numeryczne w przykładach

Matematyka stosowana i metody numeryczne

Metody numeryczne I Równania nieliniowe

Elementy rachunku różniczkowego i całkowego

RÓWNANIA NIELINIOWE Maciej Patan

Definicje i przykłady

Zajęcia nr 1: Zagadnienia do opanowania:

Iteracyjne rozwiązywanie równań

METODY NUMERYCZNE. Wykład 4. Numeryczne rozwiązywanie równań nieliniowych z jedną niewiadomą. prof. dr hab.inż. Katarzyna Zakrzewska

1 Równania nieliniowe

inżynierskie metody numeryczne D10/325, Konsultacje 8:00 9:30

Egzamin z Metod Numerycznych ZSI, Egzamin, Gr. A

Wstęp do metod numerycznych Rozwiazywanie równań algebraicznych. P. F. Góra

Zastosowania pochodnych

KADD Minimalizacja funkcji

Metody rozwiązywania równań nieliniowych

Rozwiązywanie równań nieliniowych

Całkowanie numeryczne przy użyciu kwadratur

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

METODY NUMERYCZNE. Wykład 4. Numeryczne rozwiązywanie równań nieliniowych z jedną niewiadomą. Rozwiązywanie równań nieliniowych z jedną niewiadomą

Inżynierskie metody analizy numerycznej i planowanie eksperymentu / Ireneusz Czajka, Andrzej Gołaś. Kraków, Spis treści

Rozwiązywanie równań nieliniowych i ich układów. Wyznaczanie zer wielomianów.

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

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

Kinematyka: opis ruchu

ZADANIA OPTYMALIZCJI BEZ OGRANICZEŃ

Metody numeryczne równań różniczkowych zwyczajnych

1 Metody rozwiązywania równań nieliniowych. Postawienie problemu

Komputerowa analiza zagadnień różniczkowych 3. Metody Eulera, metody punktu środkowego i metody trapezowe

Modelowanie rynków finansowych z wykorzystaniem pakietu R

Całkowanie numeryczne

S Y L A B U S P R Z E D M I O T U

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

Δt)] niejawny schemat Eulera [globalny błąd O(Δt)] u(t) f(t,u) f(t,u) u(t) [t+ Δt,u(t+Δt)]

Bardzo łatwa lista powtórkowa

OBLICZANIE POCHODNYCH FUNKCJI.

t. sztywny problem w pojedynczym równaniu: u(t)=cos(t) dla dużych ż t rozwiązanie i ustalone

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

automatyka i robotyka II stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

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

użyteczne, gdy problem nie wymaga zmiany dt ważne: schematy do rozwiązywania równań cząstkowych mają często wielokrokowy charakter

Wyznaczanie miejsc zerowych funkcji

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

Obliczenia Naukowe. Wykład 12: Zagadnienia na egzamin. Bartek Wilczyński

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

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

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

BŁĘDY OBLICZEŃ NUMERYCZNYCH

Równania różniczkowe zwyczajne: problem brzegowy [1D]

Wstęp do metod numerycznych 14. Kilka wstępnych uwag na temat numerycznego rozwiazywania równań różniczkowych zwyczajnych

Równanie przewodnictwa cieplnego (I)

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

Metoda różnic wstecznych: interpolujemy u wielomianem od chwili n-k aż do n-1

INFORMATYKA ELEMENTY METOD NUMERYCZNYCH.

Zaawansowane metody numeryczne Komputerowa analiza zagadnień różniczkowych 5. Terminologia. Metody Eulera, metody punktu środkowego i metody trapezowe

Metoda Różnic Skończonych (MRS)

Zał nr 4 do ZW. Dla grupy kursów zaznaczyć kurs końcowy. Liczba punktów ECTS charakterze praktycznym (P)

Kubatury Gaussa (całka podwójna po trójkącie)

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

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

Obliczenia iteracyjne

Spis treści. Rozdział I. Wstęp do matematyki Rozdział II. Ciągi i szeregi... 44

Zwięzły kurs analizy numerycznej

Metoda różnic skończonych dla

Liczby zmiennoprzecinkowe i błędy

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

Wybrane metody przybliżonego. wyznaczania rozwiązań (pierwiastków) równań nieliniowych

Wstęp do metod numerycznych 9. Minimalizacja: funkcje jednej zmiennej. P. F. Góra

Optymalizacja ciągła

METODY ROZWIĄZYWANIA RÓWNAŃ NIELINIOWYCH

Elementy metod numerycznych

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

Matematyka licea ogólnokształcące, technika

Janusz Adamowski METODY OBLICZENIOWE FIZYKI Kwantowa wariacyjna metoda Monte Carlo. Problem własny dla stanu podstawowego układu N cząstek

Rachunek całkowy - całka oznaczona

IX. MECHANIKA (FIZYKA) KWANTOWA

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

5. Twierdzenie Weierstrassa

KADD Metoda najmniejszych kwadratów funkcje nieliniowe

Transkrypt:

Metody obliczeniowe fizyki i techniki I 30h wykładu, 15h projektu Treść wykładu: -rozwiązywanie numeryczne zwyczajnych i cząstkowych równań różniczkowych fizyki i techniki - podstawowe metody numeryczne

Główna metoda omawiana w czasie wykładu - metoda różnic skończonych (MRS) Definicja pochodnej (Leibnitz, Newton) f (x)=lim dx 0 [f(x+dx)-f(x)]/dx W MRS pracuje się na skończonym dx, poszukując schematów pozwalających na dokładne, stabilne rachunki. Rachunki numeryczne prowadzone od początku teorii równań różniczkowych dla problemów, w których rozwiązanie analityczne nie jest znane. (Newton, Euler, Lagrange, Gauss, Adams, etc.)

1. Metody różnicowe dla równań zwyczajnych: Zbieżność, stabilność. Schematy jawne i niejawne. Problemy sztywne. Optymalizacja kroku czasowego. Schematy wielokrokowe i Rungego Kutty. Pomocnicze metody numeryczne: rozwiązywanie równań nieliniowych (metoda Newtona), Interpolacja wielomianowa (Lagrange a) całkowanie metodami Newtona-Cotesa. 2. Zwyczajne problemy brzegowe. Metoda strzałów. 3. Całkowanie numeryczne cd. Kwadratury Gaussa, całki wielowymiarowe, generatory liczb przypadlowych.

4. Równanie Poissona oraz różniczkowe równanie własne. Metoda Numerova. Metody relaksacji punktowej oraz globalnej, nadrelaksacji oraz metody wielosiatkowe. Metody pomocnicze: rozwiązywanie URL metodami dokładnymi (eliminacja Gaussa, metoda dekompozycji LU) oraz iteracyjnymi metody Gaussa-Seidla, Jakobiego). 5. Optymalizacja Monte Carlo. Schemat Metropolisa. Algorytmy genetyczne, algorytmy stadne, symulowane wygrzewanie

6. Równanie adwekcji. Schematy jawne i niejawne. Kryterium CFL. Analiza von Neumanna. 7. Równanie dyfuzji / równanie przewodnictwa cieplnego. Schemat Cranka-Nicolson. 8. Równanie falowe. Schemat Newmarka Konsultacje: piątek 8:30-10:00, bszafran@agh.edu.pl

Równania różniczkowe: równania opisujące relacje spełniane przez pochodne nieznanej (poszukiwanej) funkcji cząstkowe: funkcja więcej niż jednej zmienna, np.: czas i położenie np. wychylenie u(x,t) struny w położeniu x i czasie t u t x druga zasada dynamiki Netwona dla struny t+dt równania cząstkowe: nie zawsze jedną ze zmiennych jest czas, ale zawsze opisują obiekty rozciągłe

równania różniczkowe zwyczajne: jedna zmienna niezależna np. czas dla elementów punktowych, nierozciągłych r=(x,y) v(t) układ równań: ruch w polu centralnym R C L napięciowe prawo Kirchoffa równanie liniowe drugiego rzędu (nieliniowe) równania Lotki-Volterry układ równań nieliniowych 2 rzędu problem początkowy po zadaniu x(t=0),y(t=0), x (t=0), y (t=0). układ r. 1 rzędu nieliniowe z populacja zajęcy, w wilków naturalne tempo wzrostu pop. zajęcy (pod nieobecność w), zaniku wilków bez z parametry oddziaływania populacji

zwyczajne zagadnienie brzegowe (zamiast czasu, położenie w 1D -element rozciągły opisany jedną współrzędną) zwyczajne rzędu drugiego lub wyższego + warunki na funkcje i pochodne na końcach przedziału np. równanie Eulera-Bernoulliego: wygięcie jednorodnego elastycznego pręta pod wpływem rozłożonego obciążenia w(x) lewy koniec: zamocowany i podparty prawy koniec: swobodny

Zaczynamy od rozwiązywania równań zwyczajnych 1) prostsza analiza niż dla cząstkowych 2) wprowadzimy pojęcia zbieżności, dokładności, stabilności itd. przydatne do metod rozwiązywania równań cząstkowych 3) jedna z metod rozwiązywania równań cząstkowych (metoda linii) - sprowadzamy równanie cząstkowe do układu równań zwyczajnych

Metoda linii: t układy równań różniczkowych zwyczajnych - po dyskretyzacji przestrzennej cząstkowego równania różniczkowego równanie adwekcji (konwekcji) u n (t)=u(x n,t) x x 1 x 2 x 3 x 4 x 5 x centralny iloraz na pochodną przestrzenną układ N równań zwyczajnych

zwyczajne równania różniczkowe rzędu pierwszego [oraz ich układy] warianty: inna forma nieliniowe =0 jednorodne liniowe (układy równań liniowych rozwiązuje się analitycznie) jeśli f=f(t) (nie zależy od y) rozwiązanie całka nieoznaczona jeśli f=f(y) (nie zależy od t) równanie autonomiczne (nie podlega zaburzeniom zależnym od t)

zagadnienie początkowe: równanie różniczkowe + warunek początkowy jeśli f=f(t) rozwiązanie: całka oznaczona

Układ równań do rozwiązania Równanie różniczkowe zwyczajne dowolnego rzędu można sprowadzić do układu równań pierwszego rzędu wystarczy jeśli potrafimy efektywnie rozwiązać układ równań rzędu pierwszego Przykład: Zmiana oznaczeń Definicja traktowana jako jedno z równań do rozwiązania Równanie na najwyższą pochodną - jedyne niedefinicyjne

O konieczności numerycznego rozwiązywania RRZ 1R: analitycznie rozwiązać można układ równań liniowych. nieliniowe: na ogół nie. zazwyczaj nie znamy rozwiązań analitycznych równań nieliniowych Układ 2 ciał oddziaływujących grawitacyjnie - analitycznie rozwiązany przez Newtona r 3 V 3 r 2 V 2 Układ 3: ciał nie posiada analitycznego rozwiązania r 1 V 1 ponadto: automaty mające reagować na otoczenie (np. sondy kosmiczne) nie znają postaci analitycznej f : ta jest brana z pomiarów bez wzoru na f skazani jesteśmy na rachunki numeryczne

metoda różnic skończonych dla zwyczajnego równania różniczkowego: podstawowe pojęcia analizy metod na przykładzie jawnego schematu Eulera 1) dyskretyzacja zmiennej czasowej 2) przybliżenie różnicowe równania różniczkowego 3) błąd lokalny 4) błąd globalny 5) zbieżność 6) propagacja błędu dla równań liniowych 7) rząd dokładności metody 8) bezwzględna stabilność metody i region bezwzględnej stabilności 9) błędy zaokrągleń a optymalny krok czasowy

Numeryczne rozwiązywanie problemu początkowego jeśli potrafimy rozwiązać układ równań rzędu pierwszego -rozwiążemy każdy różniczkowy problem początkowy

Numeryczne rozwiązywanie problemu początkowego Dyskretyzacja zmiennej czasowej n n+1 n+2 itd. t t n+1 t n+2 dyskretyzacja zmiennej czasowej sprowadza równania różniczkowe do różnicowych (metoda różnic skończonych) metoda ma zapewnić zadaną dokładność przy pomocy minimalnej liczby wywołań f (przy maksymalnym kroku czasowym) przy dyskusji metod zakłada się, że wyliczenie f jest kosztowne [jeśli nie jest kosztowne nie ma problemu]

im więcej znamy pochodnych w punkcie t tym większe otoczenie t możemy dobrze przybliżyć obciętym rozwinięciem Taylora tw. Taylora - między t a t istnieje taki punkt, że ograniczenie na resztę: maksymalna wartość czwartej pochodnej u w okolicy t stąd O( t 4 )

twierdzenie Taylora szereg Taylora dy y(t + t) = y(t) + t dt t + t 2 d 2 y 2 dt 2 t + + t n d N y n! dt N t +... twierdzenie Taylora [ N y(t + t) = y(t) + t ] n d 2 y N+1 t d n! dt 2 t + N+1 y (N+1)! dt N+1 τ, gdzie τ (t, t + t) n=1 reszta znika w granicy małego kroku czasowego ( ) t lim N+1 d N+1 y t 0 N! dt N+1 τ = 0 tempo zbieżności do zera jest t N+1, co oznaczamy ( ) t N+1 d N+1 y (N+1)! dt N+1 τ = O( t N+1 )

różniczkowanie numeryczne: dwupunktowy iloraz różnicowy pierwszej pochodnej szereg Taylora: y(t + t) = y(t) + t dy dt t + t 2 d 2 y 2 dt 2 t + + t n d N y n! dt N t +... y(t + t) = y(t) + t dy dt t + O( t 2 ) t dy dt t = y(t + t) y(t) + O( t 2 ) dy dt t = y(t+ t) y(t) t + O( t)

różniczkowanie numeryczne: schemat centralny trójpunktowy szereg Taylora: y(t + t) = y(t) + t dy dt t + t 2 d 2 y 2 dt 2 t + t 3 d 3 y 3! dt 3 t + t 4 d 4 y 4! dt 4 t +... y(t t) = y(t) t dy dt t + t 2 d 2 y 2 dt 2 t t 3 d 3 y 3! dt 3 t + t 4 d 4 y 4! dt 4 t +... y(t + t) y(t t) = 2 t dy dt t + 2 t 3 d 3 y 3! dt 3 t +... y(t + t) y(t t) = 2 t dy dt t + O( t 3 ) dy dt t = y(t+ t) y(t t) 2 t + O( t 2 ) zamiast dy dt t = y(t+ t) y(t) t + O( t)

różniczkowanie numeryczne: schemat centralny pięciopunktowy szereg Taylora: y(t + t) = y(t) + t dy dt t + t 2 d 2 y 2 dt 2 t + t 3 d 3 y 3! dt 3 t + t 4 d 4 y 4! dt 4 t +... y(t t) = y(t) t dy dt t + t 2 d 2 y 2 dt 2 t t 3 d 3 y 3! dt 3 t + t 4 d 4 y 4! dt 4 t +... y(t + t) y(t t) = 2 t dy dt t + 2 t 3 d 3 y 3! dt 3 t + O( t 5 ) (1) y(t + 2 t) = y(t) + 2 t dy dt t + 4 t 2 d 2 y 2 dt 2 t + 8 t 3 d 3 y 3! dt 3 t + 16 t 4 d 4 y 4! dt 4 t +... y(t 2 t) = y(t) 2 t dy dt t + 4 t 2 d 2 y 2 dt 2 t 8 t 3 d 3 y 3! dt 3 t + 16 t 4 d 4 y 4! dt 4 t +... y(t + 2 t) y(t 2 t) = 4 t dy dt t + 2 8 t 3 d 3 y 3! dt 3 t + O( t 5 ) (2) 8 (1) (2) dy dt = 1 t 12 t [y(t 2 t) 8y(t t) + 8y(t + t) y(t + 2 t)] + O( t 4 ) etc.

różniczkowanie numeryczne: schemat centralny pięciopunktowy 0.1 0.05 2 punkty 3 punkty 5 punktow 0-0.05-0.1-0.15-0.2-5 -4-3 -2-1 0 1 2 3 4 5 Rysunek pokazuje różnicę między dokładna pochodna funkcji gaussowskiej exp( x 2 ) oraz jej przybliżeniem ilorazem różnicowym przy x = 1 5, z ilorazem 2, 3 oraz 5 punktowym

Jawny schemat Eulera przepis na pojedynczy krok z u(t) do u(t+ t) można wyliczyć bo znamy t i u(t) błąd lokalny jawnego Eulera w kroku t n-1 wg tw. Taylora l n = t n błąd lokalny schematu różnicowego definicja: odchylenie wyniku numerycznego od dokładnego uzyskane w pojedynczym kroku, w którym na starcie wstawiono dokładne rozwiązanie (dokładny warunek początkowy)

Jawny schemat Eulera stosowany wielokrotnie:... krok wcale nie musi być taki sam dla każdego n, ale tak przyjmiemy do analizy

Jawny schemat Eulera u u 0 dokładny [np. exp(t) dla du/dt=u] jawny Euler krok wykonywany wg nachylenia (wartości f) z początku przedziału t+ t t każdy krok wykonywany z nachyleniem branym z chwili, w której krok się zaczyna W każdym kroku wprowadzamy nowy błąd. Błędy się akumulują. Zmniejszamy krok t: Błąd lokalny zmaleje, ale wykonamy więcej kroków. Czy opłaca się zmniejszać kroki czasowe? Definicja: Błąd globalny e=rozwiązanie dokładne w chwili t minus rozwiązanie numeryczne w chwili t Czy się opłaca znaczy: Czy błąd globalny maleje gdy t maleje? a jeśli tak - czy maleje do zera? ( czy możliwe jest dokładne rozwiązanie równania różniczkowego uzyskane jako granica schematu różnicowego )

Jawny schemat Eulera Czy błąd całkowity maleje gdy t maleje? Czy maleje do zera? eksperyment numeryczny problem początkowy: u = u, u(0)=1 z rozwiązaniem dokładnym u(t)=exp( t) u 1. 0 0. 8 0. 6 0. 4 100 t=0.001 dokładny jawny Euler 0. 0 0 0 0. 0 0 2 0. 0 0 4 0. 0 0 6 0. 0 0 8 0. 0 1 0 t e (błąd globalny) u= dokładny - numeryczny 0. 0 2 0 0 0. 0 1 6 0 0. 0 1 2 0 0. 0 0 8 0 0. 0 0 4 0 0. 0 0 0 0. 0 0 2 0. 0 0 4 0. 0 0 6 0. 0 0 8 0. 0 1 0 t

Jawny schemat Eulera Czy błąd globalny maleje gdy t maleje? Czy maleje do zera? eksperyment numeryczny problem początkowy: u = u, u(0)=1 z rozwiązaniem dokładnym u(t)=exp( t) 100 zmniejszajmy krok czasowy, jaki wynik w chwili t=0.01? [1/e=.3678794] n t u n exp(-1)-u n 10 10-3 0.34867 1.920 10-2 10 2 10-4 0.36603 1.847 10-3 10 3 10-5 0.36769 1.840 10-4 10 4 10-6 0.36784 1.839 10-5 błąd globalny w chwili t=0.01 wydaje się zmieniać liniowo z krokiem czasowym interpretacja: błąd lokalny rzędu t 2 popełniony n = t/ t razy daje błąd globalny rzędu t

zmniejszajmy krok czasowy, jaki wynik w chwili t=0.01? [1/e=.3678794] n t u n exp( 1) u n 10 10-3 0.34867 1.920 10-2 10 2 10-4 0.36603 1.847 10-3 10 3 10-5 0.36769 1.840 10-4 10 4 10-6 0.36784 1.839 10-5 błąd globalny w chwili t=0.01 wydaje się zmieniać liniowo z krokiem czasowym Definicja: Metody różnicowa jest zbieżna jeśli błąd globalny znika do zera w chwili T gdy z t do 0

Definicja: Metody różnicowa jest zbieżna jeśli błąd globalny znika do zera w chwili T gdy z t do 0 rząd zbieżności metody jest k, jeśli w granicy t 0 błąd globalny znika jak O( t k ) Zazwyczaj rząd zbieżności metody jest o jeden niższy niż rząd błędu lokalnego (popełnianego w jednym kroku). Rząd zbieżności metody Eulera pierwszy. Metoda Eulera jest metodą pierwszego rzędu. Nie ma wolniej zbieżnej metody

case study: wnęka potencjału 0-0.2-0.4 V -0.6-0.8 E -1-1.2-1.4-2 -1 0 1 2 3 4 x czastka o energii E = 0.6 [J]. Energia potencjalna zależna od położenia x[m] V (x) = exp( x 2 ) 1.2 exp( (x 2) 2 )[J] wyznaczyć obszar dostępny dla czastki: V (x) E równania na punkty zwrotne V (x) = E równanie - zazwyczaj nieliniowe - do rozwiazania f (x) V (x) E = 0

równania dynamiki Newtona czastka o energii E = 0.6 [J]. Energia potencjalna V (x) = exp( x 2 ) 1.2 exp( (x 2) 2 )[J] zobaczmy: rozwiazanie równania Newtona m = 1 kg d 2 x = F dt 2 m = 1 dv m dx równanie zwyczajne rzędu N można sprowadzić do układu N równań pierwszego rzędu: dx dt v (*) dv dt = 1 dv m dx (**) warunki brzegowe: x(t = 0) = 2.83288 [m], v(t = 0) = 0 (***) (*,**,***) tworza zagadnienie poczatkowe (zagadnienie Cauchy) schemat różnicowy: pochodne zastępujemy przez ilorazy różnicowe z twierdzenia Taylora: dy dt = y(t+dt) y(t) t + O( t)

jawny schemat Eulera do równania Newtona równanie różniczkowe: dy dt t = f (t, y) y n+1 = y n + f (t n, y n ) t równania: dx dt v dv dt = 1 dv m dx x n+1 = x n + v n t v n+1 = v n 1 dv m dx x n t

jawny schemat Eulera do równania Newtona x n+1 = x n + v n t v n+1 = v n 1 dv m dx x n t dt = 0.01 3 2.5 2 x x [m], v[m/s] 1.5 1 0.5 0-0.5-1.5-1 v 0 5 10 15 20 25 30 t 0.8 0.6 0.4 0.2 V,E k [J] 0-0.2-0.4-0.6-0.8-1 -1.2 E k V -1.4 0 5 10 15 20 25 30 t[s]

jawny schemat Eulera do równania Newtona x n+1 = x n + v n t v n+1 = v n 1 dv m dx x n t dt = 0.01, wynik do 100 sekund 1.5 "fort.1" u 2:3 1 0.5 v[m/s] 0-0.5-1 -1.5-1.5-1 -0.5 0 0.5 1 1.5 2 2.5 3 3.5 x[m] wykres (x, v) tzw. portret fazowy jawny schemat Eulera - nie zachowuje ściśle energii, ona jest generowana w programie. Tempo generacji, lub zaniku energii zależy od schematu róznicowego.

1.5 1 0.5 0-0.5-1 -1.5-1.5-1 -0.5 0 0.5 1 1.5 2 2.5 3 3.5 x[m] v "fort.1" u 2:3 jawny schemat Eulera do równania Newtona dt = 0.01, wynik do 100 sekund v[m/s] zobaczmy co dalej sie stanie: wynik do 1000 sekund 2 "fort.1" u 2:3 1.5 1 0.5 0-0.5-1 -1.5-2 -10-5 0 5 10 15 20 25 30 x ciało opuściło zasięg potencjału i oddala się ze stała prędkościa w prawo V (x) = e x 2 1.2 e (x 2)2

jawny schemat Eulera do równania Newtona T = 100 s, t =.01 1.5 "fort.1" u 2:3 1 v[m/s] 0.5 0-0.5-1 -1.5-1.5-1 -0.5 t =.001 0 0.5 1 1.5 2 2.5 3 3.5 x[m] 1.5 "fort.1" u 2:3 1 0.5 0-0.5-1 -1.5-1 -0.5 0 0.5 1 1.5 1.5 2 2.5 3 t =.0001 "fort.1" u 2:3 1 0.5 0-0.5-1 -1.5-1 -0.5 0 0.5 1 1.5 2 2.5 3 dla lepszych schematów wystepuja podobne problemy gdy mniejszyc krok t wystapi a, ale póz niej: co zrobic - ustalic jaki zakres czasu nas interesuje, do niego dobrac krok czasowy dobra metoda : o błedzie lokalnym rz edu wyz szego niz 2 pozwoli wykonac mniej kroków (pracowac z wiekszym t

jawny schemat Eulera do równania Newtona wprowadźmy opory ruchu: dx dt dv dt = v = 1 dv m dx αv α = 0.05, t = 0.01 1 "fort.1" u 2:3 0.5 0-0.5-1 -1.5-1 -0.5 0 0.5 1 1.5 2 2.5 3 wykres (x, v) - układ znajduje jedno z minimów potencjału minimum można znaleźć szukajac numerycznie zer V (x).

jawny schemat Eulera do równania Newtona α = 0.5, v(x), t = 0.01 0.6 "fort.1" u 2:3 0.4 0.2 0-0.2-0.4-0.6-0.8-1 1.4 1.6 1.8 2 2.2 2.4 2.6 2.8 3 α = 5, v(x), t = 0.01 0 "fort.1" u 2:3-0.05-0.1-0.15-0.2-0.25 1.9 2 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9

jawny schemat Eulera do równania Newtona duży współczynnik tłumienia α = 201, v(t), t = 0.01 1500 "fort.1" u 1:3 1000 500 v 0-500 -1000-1500 0 2 4 6 8 10 12 14 gdy α t > 2 rachunek eksploduje t ciało wykonuje skoki o rosnacej z czasem amplitudzie prędkość zmienia znak i rośnie z kroku na krok problem: bezwzględnej niestabilności jawnego schematu Eulera

bezwzględna stabilność schematu Eulera DF: schemat dla danego równania i dla danego tjest bezwględnie stabilny jeśli generowane wartości pozostaja skończone przy n z układu równań, problematyczny jest czynnik z α dx dt dv dt = v = 1 dv m dx αv zajmiemy się więc równaniem dv dt = αv, rozwiazanie analityczne v(t) = v(0) exp( αt) v n+1 = v n tαv n v n+1 = v n (1 tα) jeśli 1 tα > 1, v n+1 daży do nieskończoności z n dla α > 0 schemat bezwzględnie stabilny jeśli tα < 2

region bezwzględnej stabilności jawnego schematu Eulera problem modelowy: dv dt = zv, z zespolona v n+1 = v n + tzv n v n+1 = v n (1 + tz) bezwzględnie stabilny dla 1 + tz < 1: czarny obszar na rysunku (region bezwzlędnej stabilności jawnego schematu Eulera) 2 "fort.1" 1.5 1 Im(z)Δt 0.5 0-0.5-1 -1.5-2 -2-1.5-1 -0.5 0 0.5 1 1.5 2 Re(z)Δt dla dużych "współczynników tłumienia" R(z) < 0 rozwiazanie dokładne C exp(zt) gaśnie, a numeryczne eksploduje

inny schemat Eulera dv dt jawny: v n+1 v n t = zv, z liczba zespolona = zv n, z zespolona v n+1 = v n + tzv n v n+1 = v n (1 + tz) bezwzględna stabilność: 1 + tz < 1. 2 "fort.1" niejawny: v n v n 1 t = zv n, z zespolona v n = v n 1 + tzv n v n = v n 1 1 tz bezwzględna stabilność: 1 tz > 1. 1.5 1 Im(z)Δt 0.5 0-0.5-1 -1.5-2 -2-1.5-1 -0.5 0 0.5 1 1.5 2 Re(z)Δt region bezwzględnej stabilności: czarny. Jeśli Re(z) < 0 niejawny Euler pozostaje bezwzględnie stabilny niezależnie od kroku czasowego

niejawny schemat Eulera dv dt = f (t, v) jawny: v n+1 = v n + f (t n, v n ) t działa jak podstawienie niejawny: v n+1 = v n + f (t n+1, v n+1 ) t działa jak równanie na v n+1 nieliniowe jeśli f nieliniowe

niejawny schemat Eulera dv dt = f (t, v) v n+1 = v n + f (t n+1, v n+1 ) t rozwiazanie dla leniwych programistów: iteracja: v µ+1 n+1 = v n + f (t n+1, v µ n+1 ) t na starcie np. v 1 n+1 = v n jeśli v µ+1 n+1 = v µ µ+1, w praktyce v n+1 n+1 v µ n+1 < ɛ v n+1 = v µ+1 n+1

iteracja czasowa w niejawnym Eulerze dv dt = αv t = 0.01, α = 20 v µ+1 n+1 = v n αv µ n+1 v 1 = 1 v 1 2 = 1 v µ+1 2 = 1 αv µ n+1 µ v µ 2 2 0.8 3 0.84 4 0.8336 5 0.833344 6 0.833331 zbiega się, lecz wymagane kilka iteracji

iteracja czasowa w niejawnym Eulerze dv dt = αv t = 0.01, α = 200 v µ+1 n+1 = v n αv µ n+1 v 1 = 1 v 1 2 = 1 v µ+1 2 = 1 αv µ n+1 µ v µ 2 2-1 3 3 4-5 5 11 6-21 tam gdzie jest problem dla jawnego Eulera ze stabilnościa bezwzględna, tam niejawny Euler rozwiazywany przez prosta iterację się nie sprawdza potrzebny inny sposób wykonywania kroku w niejawnym Eulerze Przepis niejawnego Eulera: v n+1 = v n + f (t n+1, v n+1 ) t, jest równaniem nieliniowym. Potrzebne metody dedykowane do rozwiazywania równania nieliniowego.

Rozwiazywanie równań nieliniowych. Case study: przestrzeń dostępna dla ciała o danej energii 0-0.2-0.4 V -0.6-0.8 E -1-1.2-1.4-2 -1 0 1 2 3 4 x czastka o energii E = 0.6 [J]. Energia potencjalna zależna od położenia x[m] V (x) = exp( x 2 ) 1.2 exp( (x 2) 2 )[J] wyznaczyć obszar dostępny dla czastki: V (x) E równania na punkty zwrotne V (x) = E równanie - zazwyczaj nieliniowe - do rozwiazania f (x) V (x) E = 0

równania nieliniowe: metoda bisekcji rozwiazanie równania nieliniowego: najprostsza z metod bisekcja 0 osaczyć zero : f (b) > 0 oraz f (a) < 0, i := 1 1 m i = a+b 2 2 albo f (a)f (m) < 0 wtedy b := m 3 albo f (b)f (m) < 0 wtedy a := m 4 i := i + 1 5 jeśli a b > zadanej precyzji wyznaczenia zera, wracamy do 1) z każdym krokiem przedział, w którym poszukujemy zera (dokładność jego oszacowania) skraca się o połowę

metoda bisekcji 0-0.2 V -0.4-0.6-0.8 3 4 5 78910 6 1 E f (x) V (x) E = 0, na rysunkach V (x) -0.54 2 4-0.56-1 -1.2-0.58 V 6-1.4-0.3 2 2.5 3 3.5 4 x -0.6 7 8 9 10-0.4 1-0.62 5 V -0.5-0.6-0.7-0.8-0.9 2 3 5 6 7 8910 4 2.78 2.8 2.82 2.84 2.86 2.88 2.9 x metoda bisekcji: reaguje tylko na znak funkcji, ignoruje wartość oraz kształt krzywej dokładność wyznaczenia zera ściśle określona przez liczbe wywołań funkcji -1-1.1 2.4 2.5 2.6 2.7 2.8 2.9 3 x

metoda bisekcji 1.00000000 0.10000000 0.01000000 0.00100000 f(x) 0.00010000 0.00001000 0.00000100 0.00000010 0.00000001 0 5 10 15 20 zbieżność f (x) V (x) E = 0, dla kolejnych iteracji i i

potrzeba linearyzacji V -0.54-0.56-0.58-0.6-0.62 5 7 8 9 10 2.78 2.8 2.82 2.84 2.86 2.88 2.9 6 x 4 Wolna zbieżność. Problem, jeśli wyliczenie f (x) trwa np. 48h. Trzeba przyspieszyć. Każda funkcja gładka w małym przedziale (w dużym zoomie) zachowuje się jak funkcja liniowa. Możliwość przyspieszenia rachunków z wykorzystaniem linearyzacji funkcji nieliniowej w okolicach zera Metoda: nazywana metoda stycznych, metoda Newtona albo metoda Newtona-Raphsona

-0.54-0.56-0.58-0.6-0.62 5 7 2.78 2.8 2.82 2.84 2.86 2.88 2.9 6 4 metoda Newtona-Raphsona (stycznych, Newtona) V 8 9 10 rozwinięcie w szereg Taylora f (x) = f (x 0 ) + (x x 0 )f (x) x0 + (x x 0 ) 2 f (x) x0 +... szukamy f (x) = 0, x 0 to okolice zera f (x), jesli jesteśmy blisko (x x 0 ) 2 - zaniedbywalne w porównaniu z wyrazem liniowym (x x 0 ) x rozwinięcie w szereg Taylora 0 = f (x) f (x 0 ) + (x x 0 )f (x 0 ) liczymy 0 = f (x 0 ) + (x x 0 )f (x 0 ) x = x 0 f (x 0) f (x 0 ) procedura iteracyjnej poprawy oszacowania zera x n+1 = x n f (x n) f (x n ) w porównaniu do metody bisekcji wykorzystuje nie tylko znak funkcji, lecz jej (1) wartość oraz (2) pochodna (wysokość nad osia i nachylenie wykresu)

metoda Newtona-Raphsona metoda N-R sprowadza się do linearyzacji funkcji i przewidzenia, gdzie liniowa funkcja przetnie oś x jesteśmy w punkcie x 0 - prowadzimy prosta, która przechodzi przez punkt (x 0, f (x 0 )) oraz ma nachylenie dane przez f (x 0 ) równanie prostej : F (x) = f (x 0 ) + (x x 0 )f (x 0 ). szukamy jej zera: dostajemy przepis jak poprzednio: procedura iteracyjnej poprawy oszacowania zera x n+1 = x n f (x n) f (x n ) uwaga: dla funkcji liniowej procedura uzyskuje dokładny wynik w jednej iteracji (tempo zbieżności bisekcji w ogóle nie zależy od zachowania f (x) w okolicach zera).

metoda Newtona-Raphsona procedura iteracyjnej poprawy oszacowania zera x n+1 := x n f (x n) f (x n )

metoda Newtona-Raphsona V (x) E = 0, E = 0.6 f (x) = e x 2 1.2 e (x 2)2 + 0.6 f (x) = 2 xe x 2 1.2 ( 2 x + 4) e (x 2)2 procedura iteracyjnej poprawy oszacowania zera x n+1 := x n f (x n) f (x n )

metoda Newtona-Raphsona wyniki f (x) = V (x) E f (x) = e x 2 1.2 e (x 2)2 + 0.6 f (x) = 2 xe x 2 1.2 ( 2 x + 4) e (x 2)2-0.35-0.4-0.45 1 V -0.5-0.55-0.6 2 10 3456789-0.65 2.8 2.85 2.9 2.95 3 3.05 3.1 x

metoda Newtona-Raphsona wyniki f (x) = V (x) E f (x) = e x 2 1.2 e (x 2)2 + 0.6 f (x) = 2 xe x 2 1.2 ( 2 x + 4) e (x 2)2-0.59994-0.59996-0.59998 V -0.6 10 456789-0.60002 3-0.60004-0.60006 2.83281 2.83282 2.83283 2.83284 2.83285 2.83286 2.83287 2.83288 2.83289 2.83290 x

metoda Newtona-Raphsona wyniki f (x) = V (x) E f (x) = e x 2 1.2 e (x 2)2 + 0.6 f (x) = 2 xe x 2 1.2 ( 2 x + 4) e (x 2)2-0.59997-0.59998-0.59999-0.60000 10 456789 V -0.60001-0.60002-0.60003 3-0.60004-0.60005 2.83282 2.83283 2.83284 2.83285 2.83286 2.83287 2.83288 2.83289 2.83290 x

metoda Newtona-Raphsona a bisekcji - porównanie tempa zbieżności f(x) 1.00000000 0.10000000 0.01000000 0.00100000 0.00010000 0.00001000 0.00000100 0.00000010 0.00000001 1 1.5 2 2.5 3 3.5 4 i metoda Newtona f(x) 1.00000000 0.10000000 0.01000000 0.00100000 0.00010000 0.00001000 0.00000100 0.00000010 0.00000001 0 5 10 15 20 i metoda bisekcji

metoda Newtona-Raphsona zbieżność procedury, x - punkt startowy, x 3 - punkt osiagnięty w trzeciej iteracji x n+1 = x n f (x n )/f (x n ) 4 3 2 "fort.3" u 1:3 "fort.3" u 1:2 "fort.3" u 1:4 x 3 1 0-1 f(x 3 ) f(x) -2-2 -1 0 1 2 3 4 x zbieżność ograniczona do okolicy zera - styczna może wyprowadzić iterację do ± powodzenie metody zależy od punktu startowego. bisekcja nie może się nie powieść. rekomendowana metoda: zbliżyć się do okolic zera metoda bisekcji. dokładne położenie określić metoda Newtona.

metoda Newtona-Raphsona x n+1 = x n f (x n )/f (x n ) jeśli pochodna nie jest dana w formie analitycznej (sama funkcja nie musi być) możemy zastosować przybliżenie pochodnej. punkt zbieżności iteracji nie może ulec zmianie pochodna f (x) f (x+dx) f (x dx) 2dx

metoda Newtona-Raphsona zbieżność - wartości w kolejnych iteracjach, z ilorazem różnicowym zamiast pochodnej, start od x = 3 dokładna pochodna 1.00000000 0.10000000 0.01000000 0.00100000 f(x) 0.00010000 0.00001000 0.00000100 0.00000010 dx = 0.5 1.00000000 0.10000000 0.01000000 0.00000001 dx = 0.1 f(x) 1.00000000 0.10000000 0.01000000 0.00100000 0.00010000 0.00001000 1 1.5 2 2.5 3 3.5 4 i f(x) 0.00100000 0.00010000 0.00001000 0.00000100 0.00000010 0.00000001 1 2 3 4 5 6 7 8 9 i 0.00000100 0.00000010 0.00000001 1 1.5 2 2.5 3 3.5 4 4.5 5 i

metoda Newtona dla wykonania kroku w niejawnym schemacie Eulera dv dt = f (t, v) v n+1 = v n + f (t n+1, v n+1 ) t F (v n+1 ) v n + f (t n+1, v n+1 ) t v n+1 F (v n+1 ) = 0 v µ+1 n+1 = v µ n+1 F (v µ n+1 ) F (v µ n+1 ) Metoda Newtona dla niejawnego Eulera: v µ+1 n+1 = v µ n+1 v n + f (t n+1, v µ n+1 ) t v µ n+1 f v (t n+1, v µ n+1 ) t 1

metoda Newtona dla wykonania kroku w niejawnym schemacie Eulera dv dt = f (t, v) = αv v 1 = 1, α = 200, dt = 0.01 v µ+1 n+1 = v µ n+1 v n + f (t n+1, v µ n+1 ) t v µ n+1 f v (t n+1, v µ n+1 ) t 1 pochodna w mianowniku z ilorazu różnicowego µ v µ 2 2 0.33333333 3 0.33333333 4 0.33333333 zbieżność w jednej iteracji, bo prawa strona jest liniowa funkcja v

dv dt = f (t, v) = αv v 1 = 1, α = 2000, dt = 0.01 v µ+1 n+1 = v µ n+1 v n + f (t n+1, v µ n+1 ) t v µ n+1 f v (t n+1, v µ n+1 ) t 1 pochodna w mianowniku z ilorazu różnicowego µ v µ 2 2 0.047619 3 0.047619 4 0.047619 zbieżność w jednej iteracji, bo prawa strona jest liniowa funkcja v, niezależnie od α

niejawny Euler dla problemu nieliniowego dv dt = αv 2 v 1 = 1, α = 2000, dt = 0.01 v µ+1 n+1 = v µ n+1 v n + f (t n+1, v µ n+1 ) t v µ n+1 f v (t n+1, v µ n+1 ) t 1 pochodna w mianowniku z ilorazu różnicowego µ v µ 2 2 0.5121 3 0.2907 4 0.2130 5 0.2003 6 0.2000 dla problemu nieliniowego kilka iteracji potrzebne zbieżność wymaga kilku iteracji

niejawny Euler dla układu równań układ równań różniczkowych dx dt = v dv dt = 1 dv m dx przepis metody x n+1 = x n + tv n+1 ( v n+1 = v n + t 1 dv m dx x αv n+1 n+1 układ równań nieliniowych: F 1 (x n+1, v n+1 ) = x n+1 x n tv n+1 ( F 2 (x n+1, v n+1 ) = v n+1 v n t 1 dv m dx x αv n+1 n+1 jak rozwiazać? ) )

układy równań nieliniowych: metoda Newtona f 1 (x, y) = 0 f 2 (x, y) = 0 linearyzacja wokół (x 0, y 0 ) - przybliżonego rozwiazania. chcemy znaleźć poprawione rozwiazanie: f 1 (x, y) f 1 (x 0, y 0 ) + (x x 0 ) f 1 x x 0,y 0 + (y y 0 ) f 1 y x 0,y 0 = 0 f 2 (x, y) f 2 (x 0, y 0 ) + (x x 0 ) f 2 x x 0,y 0 + (y y 0 ) f 2 y x 0,y 0 = 0 albo x f 1 x x 0,y 0 + y f 1 y x 0,y 0 = f 1 (x 0, y 0 ) x f 2 x x 0,y 0 + y f 2 y x 0,y 0 = f 2 (x 0, y 0 ) mamy więc układ równań liniowych

układy równań nieliniowych: metoda Newtona x f 1 x x 0,y 0 + y f 1 y x 0,y 0 = f 1 (x 0, y 0 ) x f 2 x x 0,y 0 + y f 2 y x 0,y 0 = f 2 (x 0, y 0 ) wersja macierzowa ( f1 x f 2 x f 1 y f 2 y ) x0,y 0 ( x y ) ( f1 (x = 0, y 0 ) f 2 (x 0, y 0 ) ) (1) dla większej liczby równań podobnie po rozwiazaniu: x := x + x, y := y + y, iteracja aż do zbieżności (aż 0 po prawej stronie URL) macierz w układzie (1) - macierz Jakobiego dla porównania metoda Newtona w wersji skalarnej df dx x 0 x = f (x 0 ) (2)

układy równań nieliniowych: metoda Newtona przykład, szukamy minimum przez zera pochodnych czastkowych W (x, y) = [(x 2) 2 + 5(y 2) 2] m f 1 (x, y) = W x, f 2(x, y) = W y x 0 = 1, y 0 = 5 ( f1 x f 2 x f 1 y f 2 y ) x0,y 0 ( x y ) ( f1 (x = 0, y 0 ) f 2 (x 0, y 0 ) ) (3) x 0 := x 0 + x y 0 := y 0 + y A(1,1)=(f1(x0+dx,y0)-f1(x0-dx,y0))/2/dx A(1,2)=(f1(x0,y0+dx)-f1(x0,y0-dx))/2/dx A(2,1)=(f2(x0+dx,y0)-f2(x0-dx,y0))/2/dx A(2,2)=(f2(x0,y0+dx)-f2(x0,y0-dx))/2/dx b(1,1)=-f1(x0,y0) b(2,1)=-f2(x0,y0) CALL DGESV(2,1,A,2,IPIV,B,2,INFO) x0=x0+b(1,1) y0=y0+b(2,1) zapis w fortranie DGESV -procedura biblioteki Lapack do rozwiazywania URL metoda eliminacji Gaussa (D - dla podwójnej precyzji) DGESV( N, NRHS, A, LDA, IPIV, B, LDB, INFO)

układy równań nieliniowych: metoda Newtona przykład, szukamy minimum przez zera pochodnych czastkowych W (x, y) = [(x 2) 2 + 5(y 2) 2] m ( f1 x f 2 x f 1 y f 2 y ) x0,y 0 ( x y ) ( f1 (x = 0, y 0 ) f 2 (x 0, y 0 ) ) (4) m = 1 x 0 = 1, y 0 = 5 iteracja 1: x 0 = 2, y 0 = 2 prawa strona 0 rozwiazanie na x = y = 0 dla m = 1 problem jest liniowy i rozwiazanie znajdywane jest w jednej iteracji

układy równań nieliniowych: metoda Newtona przykład, szukamy minimum przez zera pochodnych czastkowych W (x, y) = [(x 2) 2 + 5(y 2) 2] m ( f1 x f 2 x f 1 y f 2 y ) x0,y 0 ( x y ) ( f1 (x = 0, y 0 ) f 2 (x 0, y 0 ) ) (5) m = 1.1 x 0 = 1, y 0 = 5 kolejne iteracje 1.500000394866 2.499998129975 1 1.916669647455 2.083321215826 2 1.986129145712 2.013815760162 3 1.997783537491 2.001838719405 4 1.999927331282 2.000008482681 5 1.999999999350 2.000000000052 6 2.000000000000 2.000000000000 7

układy równań nieliniowych: metoda Newtona przykład, szukamy minimum przez zera pochodnych czastkowych W (x, y) = [(x 2) 2 + 5(y 2) 2] m ( f1 ) ( x y x f 2 x f 1 y f 2 y x0,y 0 m = 1.1 x 0 = 1, y 0 = 5 kolejne iteracje 1.499999356312 2.500000155948 1 1.916666542404 2.083333374075 2 1.986111087431 2.013888887976 3 1.997685179557 2.002314752344 4 1.999614189268 2.000385415209 5 1.999935673622 2.000061922966 6 1.999993872899 2.000005019027 7 1.999999731925 2.000000215575 8 1.999999988634 2.000000009139 9 1.999999999518 2.000000000387 10 1.999999999980 2.000000000016 11 1.999999999999 2.000000000001 12 2.000000000000 2.000000000000 13 ) ( f1 (x = 0, y 0 ) f 2 (x 0, y 0 ) ) (6)

układy równań nieliniowych: metoda Newtona przykład, szukamy minimum przez zera pochodnych czastkowych W (x, y) = [(x 2) 2 + 5(y 2) 2] m ( f1 ) ( x y m = 2 x 0 = 1, y 0 = 5 kolejne iteracje -0.000006994044 3.999992181766 1 0.666651510561 3.333316393392 2 1.111085267360 2.888860004025 3 1.407366569194 2.592546948859 4 1.604875633793 2.394991719098 5 1.736530641875 2.263268444557 6 1.824274105496 2.175423250990 7 1.882729971647 2.116815289242 8 1.921641008955 2.077676621811 9 1.947492820829 2.051484331730 10 1.964595579855 2.033873729959 11 1.975805570047 2.021912335928 12 1.983015500820 2.013617574155 13 1.987541799822 2.007659911907 14 1.990672912459 2.003316707631 15 1.994209620579 2.000776327964 16 1.997936857455 2.000070449518 17 1.999843222727 2.000001112630 18 1.999999907312 2.000000000221 19 1.999999999991 2.000000000000 20 2.000000000000 2.000000000000 21 x f 2 x f 1 y f 2 y x0,y 0 ) ( f1 (x = 0, y 0 ) f 2 (x 0, y 0 ) ) (7)

niejawny Euler dla problemu oscylatora anharmonicznego x n+1 = x n + tv n+1 ( v n+1 = v n + t 1 dv m dx x αv n+1 n+1 układ równań nieliniowych: ) F 1 (x n+1, v n+1 ) = x n+1 x n tv n+1 ( ) F 2 (x n+1, v n+1 ) = v n+1 v n t 1 dv m dx x αv n+1 n+1 ( F1 ) ( ) x µ+1 n+1 x µ n+1 v µ+1 n+1 v µ n+1 x n+1 F 2 x n+1 F 1 v n+1 F 2 v n+1 x µ n+1,v µ n+1 ( ) F1 (x µ = n+1, v µ n+1 ) F 2 (x µ n+1, v µ n+1 ) (8)

niejawny Euler dla problemu oscylatora anharmonicznego x n+1 = x n + tv n+1 ( v n+1 = v n + t 1 dv m dx x αv n+1 n+1 układ równań nieliniowych: F 1 (x n+1, v n+1 ) = x n+1 x n tv n+1 ( ) F 2 (x n+1, v n+1 ) = v n+1 v n t 1 dv m dx x αv n+1 n+1 ( F1 ) ( ) x µ+1 n+1 x µ n+1 v µ+1 n+1 v µ n+1 ( t m x n+1 F 2 x n+1 F 1 v n+1 F 2 v n+1 1 t 1 + tα d 2 V dx 2 x µ n+1 x µ n+1,v µ n+1 ) ) x µ n+1,v µ n+1 ( x µ+1 n+1 x µ n+1 v µ+1 n+1 v µ n+1 ( ) F1 (x µ = n+1, v µ n+1 ) F 2 (x µ n+1, v µ n+1 ) ) (9) ( ) F1 (x µ = n+1, v µ n+1 ) F 2 (x µ n+1, v µ n+1 ) (10)

jawny schemat Eulera do równania Newtona niejawny (α = 0) - numeryczna dysypacja T = 100 s, t =.01 jawny (α = 0) T = 100 s, t =.01 1.5 "fort.1" u 2:3 1 v[m/s] 0.5 0-0.5-1 -1.5-1.5-1 -0.5 t =.001 0 0.5 1 1.5 2 2.5 3 t =.001 3.5 x[m] 1.5 "fort.1" u 2:3 1 0.5 0-0.5-1 -1.5-1 -0.5 0 0.5 1 1.5 1.5 2 2.5 3 t =.0001 "fort.1" u 2:3 1 0.5 0-0.5-1 -1.5-1 -0.5 0 0.5 1 1.5 2 2.5 3 t =.0001

niejawny Euler iteracja pierwszego kroku α = 0 dt=0.01 2.832880020142 0.000000000000 2.832779943898-0.010007624574 2.832779943900-0.010007624349 dt=0.1 2.832880020142 0.000000000000 2.822825171371-0.100548486206 2.822826802654-0.100532173375 2.822826802653-0.100532173385 α = 201 dt=.1 2.832880020142 0.000000000000 2.832405640967-0.004743791674 2.832405641151-0.004743789832 jawny Euler eksplodował nawet przy dt=0.01 bariera bezwzględnej stabilności pokonana

źródło do 15 iter=1,100 00 11 continue A(1,1)=1 A(1,2)=-dt A(2,1)=dt/xm*(fu(x+dx)+fu(x-dx)- 2*fu(x))/dx**2 A(2,2)=1+dt*alpha b(1,1)=-f1(x,v) b(2,1)=-f2(x,v) write(17,13) x,v,f1(x,v),f2(x,v) CALL DGESV(2,1,A,2,IPIV,B,2,INFO) x=x+b(1,1) v=v+b(2,1) li=li+1 if(li.lt.5) goto11 xo=x vo=v write(18,13) iter*dt,x,v,fu(x)+xm*v**2/2 15 continue 12 format (2f20.12,1i,1f20.12) 13 format (100f20.12) end function fu(x) implicit double precision(a-h,o-z) fu=-exp(-x*x)-1.2*exp(-(x-2)*(x-2)) end function f1(x,v) implicit double precision(a-h,o-z) common/xovo/xo,vo,dt,xm,alpha,dx f1=x-xo-dt*v end function f2(x,v) implicit double precision(a-h,o-z) common/xovo/xo,vo,dt,xm,alpha,dx f2=v-vo-dt*(-1/xm*(fu(x+dx)-fu(x-dx))/2/dxalpha*v) end

Schemat Eulera jako wzór prostokatów df (t) równanie różniczkowe 1 rzędu w t: dt = P(t, f ) f (t+dt) f (x,t) dt = P(t, f ) - jawny schemat Eulera f (t+dt) f (x,t) dt = P(t + dt, f ) - niejawny schemat Eulera df (x,t) przypadek trywialny: dt = P(t) t+dt f (x, t + dt) = f (x, t) + P(t )dt t przepis jawnego Eulera jeśli funkcję podcałkowa przybliżymy przez P(t) f (x, t + dt) f (x, t) + P(t)dt wzór dokładnie całkuje funkcję stała, w funkcji liniowej się myli (pomija ja), tak że bład jest rzędu całki z funkcji liniowej, czyli O(dt 2 ): f (x, t + dt) = f (x, t) + P(t)dt + O(dt 2 ) inin

Wzór trapezów dokładniejsza formuła: wzór trapezów f (x, t + dt) = f (x, t) + t+dt t P(t )dt całka pod krzywa na podstawie wzoru na pole trapezu: f (x, t + dt) f (x, t) + dt P(t)+P(t+dt) 2 wzór dokładnie całkuje funkcję liniowa, w funkcji kwadratowej się myli f (x, t + dt) = f (x, t) + P(t)+P(t+dt) 2 dt + O(dt 3 ) dokładniejszy w czasie o jeden rzad. implementacja dla równań Newtona...

schemat trapezów dla układu równań x n+1 = x n + t 2 (v n+1 + v n ) v n+1 = v n + t 2 układ równań nieliniowych: ( ) 1 dv m dx x αv n+1 n+1 1 dv m dx x n αv n F 1 (x n+1, v n+1 ) = x n+1 x n t 2 v n+1 t F 2 (x n+1, v n+1 ) = v n+1 v n t 2 ( F1 x n+1 F 2 x n+1 ( F 1 v n+1 F 2 v n+1 ) x µ n+1,v µ n+1 ) 1 t 2 1 + t 2 α t d 2 V 2m dx 2 x µ n+1 ( 1 dv m dx x αv n+1 n+1 ( x µ n+1,v µ n+1 2 v n x µ+1 n+1 x µ n+1 v µ+1 n+1 v µ n+1 ( ) ) x µ+1 n+1 x µ n+1 v µ+1 n+1 v µ n+1 ( ) t 2 1 dv m dx x n αv n ( ) F1 (x µ = n+1, v µ n+1 ) F 2 (x µ n+1, v µ n+1 ) ) (11) ( ) F1 (x µ = n+1, v µ n+1 ) F 2 (x µ n+1, v µ n+1 ) (12)

1.5 1 0.5 0-0.5-1 1.5 1 0.5 0-0.5-1 1.5 1 0.5 0-0.5-1 "fort.18" u 2:3-1 -0.5 0 0.5 1 1.5 2 2.5 3 "fort.18" u 2:3-1 -0.5 0 0.5 1 1.5 2 2.5 3 "fort.18" u 2:3-1 -0.5 0 0.5 1 1.5 2 2.5 3 schemat trapezów wzór trapezów (α = 0) T = 100 s, t =.01 niejawny Euler (α = 0) T = 100 s, t =.01-1.5 t =.1 t =.001-1.5 t =.2 t =.0001-1.5

schemat trapezów i Eulera: zachowanie energii wzór trapezów (dt=0.2, 0.1,.01) E[J] -0.48 "dtk1.dat" u 1:4 "dtk2.dat" u 1:4 "dtk01.dat" u 1:4-0.5-0.52-0.54-0.56-0.58 niejawny Euler, wzór trapezów (dt=0.01,.001) (α = 0 na wszystkich 3 rysunkach) -0.6-0.65-0.7 "dtk001.dat" u 1:4 "dtk01.dat" u 1:4-0.6-0.62 0 10 20 30 40 50 60 70 80 90 100 110 t[s] wzór trapezów (dt=0.2, 0.1,.01) 0.59999 "dtk01.dat" u 1:4 0.60000 0.60000 0.60001 E[J] 0.60001 0.60002 0.60002 0.60003 E[J] -0.75-0.8-0.85-0.9 0 10 20 30 40 50 60 70 80 90 100 110 t[s] tempo zmiany energii dla Eulera przy dt = 0.001 odpowiada schematowi trapezów przy dt = 0.2. dla schematu trapezów zmiana energii przy dt = 0.01 zaniedbywalna 0.60003 0 10 20 30 40 50 60 70 80 90 100 t[s]

Źrodło dla wzoru trapezów do 15 iter=1,10000 11 continue A(1,1)=1 A(1,2)=-dt/2 A(2,1)=dt/xm*(fu(x+dx)+fu(x-dx)- 2*fu(x))/dx**2/2 A(2,2)=1+dt*alpha/2 b(1,1)=-f1(x,v) b(2,1)=-f2(x,v) CALL DGESV(2,1,A,2,IPIV,B,2,INFO) x=x+b(1,1) v=v+b(2,1) li=li+1 if(li.lt.5) goto11 xo=x vo=v write(18,13) iter*dt,x,v,fu(x)+xm*v**2/2 15 continue 12 format (2f20.12,1i,1f20.12) 13 format (100f20.12) end function fu(x) implicit double precision(a-h,o-z) fu=-exp(-x*x)-1.2*exp(-(x-2)*(x-2)) end function f1(x,v) implicit double precision(a-h,o-z) common/xovo/xo,vo,dt,xm,alpha,dx f1=x-xo-dt*v/2-dt*vo/2 end function f2(x,v) implicit double precision(a-h,o-z) common/xovo/xo,vo,dt,xm,alpha,dx f2=v-vo-dt*(-1/xm*(fu(x+dx)-fu(x-dx))/2/dxalpha*v)/2 >-dt*(-1/xm*(fu(xo+dx)-fu(xo-dx))/2/dxalpha*vo)/2 end

Arytmetyka zmiennoprzecinkowa: -1 z m 2 w 32-bitowa pojedyncza precyzja: rozmiar nazwa 1 bit znak (z) 8 bits wykładnik (w) 23 bits mantysa (m) mantysa w binarnym zapisie m=10101 oznacza m=1*2 0 +0*2-1 +1*2-2 +0*2-3 + 1*2-4 +... Wykładnik: w=2 8 =256 wartości. Kodowane z tzw. Bias -127, tak, że 2 w w zakresie od 2-127 do 2 127, w przybliżeniu 10-38 do 10 38 Liczby zmiennoprzecinkowe są położone dyskretnie na osi x. Liczby rzeczywiste reprezentowane są przez zmiennoprzecinkowe w przybliżeniu, z błędem zaokrągleń.

Arytmetyka zmiennoprzecinkowa: -1 z m 2 w rozmiar nazwa 1 bit znak (z) 8 bits wykładnik (w) 23 bits mantysa (m) zbieżność metody różnicowej a błędy zaokrągleń (skończona dokładność arytmetyki zmiennoprzecinkowej)

pojedyncza precyzja: 32 bity podwójna : 64 bity błędy zaokrągleń a zbieżność do tej pory zakładaliśmy, że błędy zaokrągleń nie ma (że arytmetyka dokładna) arytmetyka zmiennoprzecinkowa nie jest dokładna. arytmetyka 21 bitowa zmniejszanie kroku czasowego nie poprawi już wyniku błąd minimalny

błędy zaokrągleń a metody różnicowe rozwiązanie równania różniczkowego w chwili t n rozwiązanie równania różnicowego z dokładną arytmetyką rozwiązanie uzyskane z arytmetyką skończonej dokładności błąd całkowity błąd globalny (jak wcześniej zdefiniowano) błąd zaokrąglenia oszacowanie od góry błędu całkowitego

błąd błędy zaokrągleń a metody różnicowe oszacowanie od góry błędu całkowitego błąd globalny dla schematu Eulera błąd zaokrągleń rzędu liczby wykonanych kroków, czyli 1/dt d t dt optymalny krok czasowy błędy zaokrągleń dają o sobie znać gdy wykonamy zbyt wiele kroków remedium: używać się schematów o wyższym rzędzie zbieżności niż pierwszy. Poniżej pewnego dt nie warto schodzić nie tylko ze względu na czas obliczeń, ale i dokładność

błędy zaokrągleń a metody różnicowe oszacowanie od góry błędu całkowitego błąd globalny dla schematu Eulera błąd całkowity d t błąd zaokrągleń błąd globalny błąd zaokrąglenia optymalny krok czasowy Definicja: Metody różnicowa jest zbieżna jeśli błąd globalny uwaga: definicja zbieżności dotyczy błędu globalnego a nie całkowitego znika do zera w chwili T gdy z t do 0

stabilność bezwzględną wzoru trapezów problem modelowy: WP: u(t=0)=1. rozwiązanie u=exp( t) zbiór punktów na p. Gaussa, które są nie dalej od (-2,0) niż od (0,2)

region bzwz. stabilności wzoru trapezów t Im ( ) t Re( ) Wniosek: dla <0 wzór trapezów bezwzględnie stabilny dla dowolnego kroku czasowego! A-stabilny druga bariera Dahlquista: maksymalny rząd dokładności metody A-stabilnej =2 schemat trapezów jest najdokładniejszą metodą A-stabilną spośród liniowych metod wielokrokowych Implementowana np. w SPICE.

region bzwz. stabilności Eulera: koło o promieniu 1 t Im ( ) i środku (-1,0) t Re( ) region bzwz. stabilności wzoru trapezów t Im ( ) niejawna metoda Eulera: region bezwzględnej stabilności t Re( ) t Im ( ) 1-1 t Re( )