Top Banner
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
95

Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

Feb 28, 2019

Download

Documents

vudieu
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

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

Page 2: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

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, stabilnerachunki.

Rachunki numeryczne – prowadzone od początku teorii równańróżniczkowych dla problemów, w których rozwiązanie analitycznenie jest znane.

(Newton, Euler, Lagrange, Gauss, Adams, etc.)

Page 3: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

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.

Page 4: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

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

Page 5: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

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, [email protected]

Page 6: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

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

u

x

t

t+dt

np. wychylenie u(x,t) struny w położeniu x i czasie t

równania cząstkowe: nie zawsze jedną ze zmiennych jest czas, ale zawsze opisują obiekty rozciągłe

druga zasada dynamiki Netwonadla struny

Page 7: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

równania różniczkowe zwyczajne: jedna zmienna niezależnanp. czas dla elementów punktowych, nierozciągłych

v(t)

R C L

napięciowe prawo Kirchoffarównanie liniowe drugiego rzędu

r=(x,y)

układ równań: ruch w polu centralnym

(nieliniowe) równania Lotki-Volterry

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

układ równań nieliniowych2 rzędu – problem początkowypo zadaniu x(t=0),y(t=0),x’(t=0), y’(t=0).

układ r. 1 rzędunieliniowe

Page 8: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

zwyczajne zagadnienie brzegowe (zamiast czasu, położenie w 1D -element rozciągły opisany jedną współrzędną)

np. równanie Eulera-Bernoulliego: wygięcie jednorodnego elastycznegopręta pod wpływem rozłożonego obciążenia w(x)

lewy koniec: zamocowanyi podparty

prawy koniec:swobodny

zwyczajne rzędu drugiego lub wyższego+ warunki na funkcje i pochodne na końcach przedziału

Page 9: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

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

Page 10: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

Metoda linii:

układy równań różniczkowych zwyczajnych - po dyskretyzacji przestrzennej cząstkowego równania różniczkowego

równanie adwekcji (konwekcji)

xx1 x2 x3 x4 x5

centralny iloraz na pochodną przestrzenną

un(t)=u(xn,t)

x

układ N równań zwyczajnych

t

Page 11: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

zwyczajne równania różniczkowe rzędu pierwszego [oraz ich układy]

warianty:liniowe(układy równańliniowych rozwiązuje się analitycznie)inna forma – nieliniowe

=0 –jednorodne

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)

Page 12: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

zagadnienie początkowe:

równanie różniczkowe + warunek początkowy

jeśli f=f(t) rozwiązanie: całka oznaczona

Page 13: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

Równanie różniczkowe zwyczajne dowolnego rzędumoż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 jakojedno z równań do rozwiązania

Równanie na najwyższą pochodną- jedyne „niedefinicyjne”

Układ ró w

nań d o rozwią zania

Page 14: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

O konieczności numerycznego rozwiązywania RRZ 1R:

analitycznie rozwiązać można układ równań liniowych. nieliniowe: na ogół nie.

V2

V1

r1

r2

V3

r3

Układ 2 ciał oddziaływujących grawitacyjnie- analitycznie rozwiązany przez Newtona

Układ 3: ciał – nie posiada analitycznego rozwiązania

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

zazwyczaj nie znamy rozwiązańanalitycznych równań nieliniowych

Page 15: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

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 czasowej2) przybliżenie różnicowe równania różniczkowego3) błąd lokalny 4) błąd globalny5) zbieżność6) propagacja błędu dla równań liniowych 7) rząd dokładności metody8) bezwzględna stabilność metody i region bezwzględnej stabilności9) błędy zaokrągleń a optymalny krok czasowy

Page 16: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

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

Page 17: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

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]

Dyskretyzacja zmiennej czasowej

t

tn+1 tn+2

n n+1 n+2 itd.

Numeryczne rozwiązywanie problemu początkowego

dyskretyzacja zmiennej czasowej sprowadza równaniaróżniczkowe do różnicowych (metoda różnic skończonych)

Page 18: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

im więcej znamy pochodnychw punkcie t tym większe otoczeniet 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 tstąd O(t4)

Page 19: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

twierdzenie Taylora

• szereg Taylora

• y(t + ∆t) = y(t) + ∆tdydt |t + ∆t2

2d2ydt2 |t + · · · + ∆tn

n!dN ydtN |t + . . .

• twierdzenie Taylora

• y(t + ∆t) = y(t) +∑N

n=1

[∆tn

n!d2ydt2 |t]

+ ∆tN+1

(N+1)!dN+1ydtN+1 |τ , gdzie τ ∈ (t, t + ∆t)

• reszta znika w granicy małego kroku czasowego

• lim∆t→0

(∆tN+1

N!dN+1ydtN+1 |τ

)= 0

• tempo zbieznosci do zera jest ∆tN+1, co oznaczamy(

∆tN+1

(N+1)!dN+1ydtN+1 |τ

)= O(∆tN+1)

Bartłomiej Szafran

Page 20: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

rózniczkowanie numeryczne: dwupunktowy iloraz róznicowypierwszej pochodnej

• szereg Taylora:

• y(t + ∆t) = y(t) + ∆t dydt |t + ∆t2

2d2ydt2 |t + · · · + ∆tn

n!dN ydtN |t + . . .

• y(t + ∆t) = y(t) + ∆t dydt |t + O(∆t2)

• ∆t dydt |t = y(t + ∆t)− y(t) + O(∆t2)

• dydt |t =

y(t+∆t)−y(t)∆t + O(∆t)

Bartłomiej Szafran

Page 21: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

rózniczkowanie numeryczne: schemat centralny trójpunktowy

• szereg Taylora:

• y(t + ∆t) = y(t) + ∆t dydt |t + ∆t2

2d2ydt2 |t + ∆t3

3!d3ydt3 |t + ∆t4

4!d4ydt4 |t + . . .

• y(t − ∆t) = y(t)− ∆t dydt |t + ∆t2

2d2ydt2 |t − ∆t3

3!d3ydt3 |t + ∆t4

4!d4ydt4 |t + . . .

• y(t + ∆t)− y(t − ∆t) = 2∆t dydt |t + 2 ∆t3

3!d3ydt3 |t + . . .

• y(t + ∆t)− y(t − ∆t) = 2∆t dydt |t + O(∆t3)

• dydt |t =

y(t+∆t)−y(t−∆t)2∆t + O(∆t2)

• zamiast

• dydt |t =

y(t+∆t)−y(t)∆t + O(∆t)

Bartłomiej Szafran

Page 22: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

rózniczkowanie numeryczne: schemat centralny pieciopunktowy

• szereg Taylora:

• y(t + ∆t) = y(t) + ∆t dydt |t + ∆t2

2d2ydt2 |t + ∆t3

3!d3ydt3 |t + ∆t4

4!d4ydt4 |t + . . .

• y(t − ∆t) = y(t)− ∆t dydt |t + ∆t2

2d2ydt2 |t − ∆t3

3!d3ydt3 |t + ∆t4

4!d4ydt4 |t + . . .

• y(t + ∆t)− y(t − ∆t) = 2∆t dydt |t + 2 ∆t3

3!d3ydt3 |t + O(∆t5) (1)

• y(t + 2∆t) = y(t) + 2∆t dydt |t + 4 ∆t2

2d2ydt2 |t + 8 ∆t3

3!d3ydt3 |t + 16 ∆t4

4!d4ydt4 |t + . . .

• y(t − 2∆t) = y(t)− 2∆t dydt |t + 4 ∆t2

2d2ydt2 |t − 8 ∆t3

3!d3ydt3 |t + 16 ∆t4

4!d4ydt4 |t + . . .

• y(t + 2∆t)− y(t − 2∆t) = 4∆t dydt |t + 2 · 8 ∆t3

3!d3ydt3 |t + O(∆t5) (2)

• 8 · (1)− (2)→

• dydt |t = 1

12∆t [y(t − 2∆t)− 8y(t − ∆t) + 8y(t + ∆t)− y(t + 2∆t)] + O(∆t4)

• etc.

Bartłomiej Szafran

Page 23: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

rózniczkowanie numeryczne: schemat centralny pieciopunktowy

•-0.2

-0.15

-0.1

-0.05

0

0.05

0.1

-5 -4 -3 -2 -1 0 1 2 3 4 5

2punkty3punkty

5punktow

• Rysunek pokazuje róznice miedzy dokładna pochodna funkcji gaussowskiej exp(−x2)oraz jej przyblizeniem ilorazem róznicowym przy ∆x = 1

5 , z ilorazem 2, 3 oraz 5punktowym

Bartłomiej Szafran

Page 24: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

błąd lokalny schematu różnicowegodefinicja: odchylenie wyniku numerycznegood dokładnego uzyskane w pojedynczymkroku, w którym na starcie wstawiono dokładne rozwiązanie(dokładny warunek początkowy)

Jawny schemat Eulera

można wyliczyć bo znamyt i u(t)

błąd lokalny jawnego Eulera w kroku tn-1 tn

wg tw. Taylora

ln =

przepis na pojedynczy krokz u(t) do u(t+t)

Page 25: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

Jawny schemat Eulera

...

krok wcale nie musi być taki sam dla każdego n,ale tak przyjmiemy do analizy

stosowany wielokrotnie:

Page 26: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

dokładny [np. exp(t) dla du/dt=u]

u

t

u0

jawny Eulerkrok wykonywanywg nachylenia (wartości f)z początku przedziałut+t

każdy krok wykonywany z nachyleniembranym 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

Page 27: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

Jawny schemat EuleraCzy 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)

0 . 0 0 0 0 . 0 0 2 0 . 0 0 4 0 . 0 0 6 0 . 0 0 8 0 . 0 1 0t

0 . 4

0 . 6

0 . 8

1 . 0

u

100t=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 0t

0 . 0 0 4 0

0 . 0 0 8 0

0 . 0 1 2 0

0 . 0 1 6 0

0 . 0 2 0 0

ue

(błą

d gl

obal

ny)

= d

okła

dny

- nu

mer

yczn

y

Page 28: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

Jawny schemat EuleraCzy 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)

zmniejszajmy krok czasowy, jaki wynik w chwili t=0.01 ? [1/e=.3678794]

n t un exp(-1)-un

10 10-3 0.34867 1.920 10-2

102 10-4 0.36603 1.847 10-3

103 10-5 0.36769 1.840 10-4

104 10-6 0.36784 1.839 10-5

błąd globalny w chwili t=0.01 wydaje się zmieniać liniowoz krokiem czasowym

100

interpretacja: błąd lokalny rzędu t2

popełniony n = t/t razy daje błąd globalny rzędu t

Page 29: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

Definicja:

Metody różnicowa jest zbieżna jeśli błąd globalny

znika do zera w chwili T gdy z t do 0

zmniejszajmy krok czasowy, jaki wynik w chwili t=0.01 ? [1/e=.3678794]

n t un exp(1)un

10 10-3 0.34867 1.920 10-2

102 10-4 0.36603 1.847 10-3

103 10-5 0.36769 1.840 10-4

104 10-6 0.36784 1.839 10-5

błąd globalny w chwili t=0.01 wydaje się zmieniać liniowoz krokiem czasowym

Page 30: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

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(tk)

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

Prezentacja o zastosowaniu metody Eulera dla cząstki w minimum potencjału (oscylator anharmoniczny).Szu1.pdf

Page 31: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

case study: wneka potencjału

•-1.4

-1.2

-1

-0.8

-0.6

-0.4

-0.2

0

-2 -1 0 1 2 3 4

EEV

x• czastka o energii E = −0.6 [J]. Energia potencjalna zalezna od połozenia x [m]

V (x) = − exp(−x2)− 1.2 exp(−(x − 2)2)[J]

• wyznaczyc obszar dostepny 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

Bartłomiej Szafran

Page 32: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

równania dynamiki Newtona

• czastka o energii E = −0.6 [J]. Energia potencjalnaV (x) = − exp(−x2)− 1.2 exp(−(x − 2)2)[J]

• zobaczmy: rozwiazanie równania Newtona

• m = 1 kg

• d2xdt2 = F

m = − 1m

dVdx

• równanie zwyczajne rzedu N mozna sprowadzic do układu N równan pierwszego rzedu:

• dxdt ≡ v (*)

• dvdt = − 1

mdVdx (**)

• warunki brzegowe:

• x(t = 0) = 2.83288 [m], v(t = 0) = 0 (***)

• (*,**,***) tworza zagadnienie poczatkowe (zagadnienie Cauchy)

• schemat róznicowy: pochodne zastepujemy przez ilorazy róznicowe

• z twierdzenia Taylora:

• dydt =

y(t+dt)−y(t)∆t + O(∆t)

Bartłomiej Szafran

Page 33: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

jawny schemat Eulera do równania Newtona

• równanie rózniczkowe: dydt |t = f (t, y)

• yn+1 = yn + f (tn, yn)∆t

• równania:

• dxdt ≡ v

• dvdt = − 1

mdVdx

• xn+1 = xn + vn∆t

• vn+1 = vn − 1m

dVdx |xn ∆t

Bartłomiej Szafran

Page 34: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

jawny schemat Eulera do równania Newtona

• xn+1 = xn + vn∆t

• vn+1 = vn − 1m

dVdx |xn ∆t

• dt = 0.01

•-1.5

-1

-0.5

0

0.5

1

1.5

2

2.5

3

0 5 10 15 20 25 30

x

v

x [m

], v

[m/s

]

t

•-1.4

-1.2

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

0 5 10 15 20 25 30

Ek

V

V,E

k [

J]

t[s]

Bartłomiej Szafran

Page 35: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

jawny schemat Eulera do równania Newtona

• xn+1 = xn + vn∆t

• vn+1 = vn − 1m

dVdx |xn ∆t

• dt = 0.01, wynik do 100 sekund

•-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

v[m

/s]

x[m]

"fort.1" u 2:3

• wykres (x, v) tzw. portret fazowy

• jawny schemat Eulera - nie zachowuje scisle energii, ona jest generowana w programie.Tempo generacji, lub zaniku energii zalezy od schematu róznicowego.

Bartłomiej Szafran

Page 36: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

jawny schemat Eulera do równania Newtona

• dt = 0.01, wynik do 100 sekund

• -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

v[m

/s]

x[m]

"fort.1" u 2:3

• zobaczmy co dalej sie stanie: wynik do 1000 sekund

•-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

-10 -5 0 5 10 15 20 25 30

v

x

"fort.1" u 2:3

• ciało opusciło zasieg potencjału i oddala sie ze stała predkoscia w prawo

• V (x) = −e−x2− 1.2 e−(x−2)2

Bartłomiej Szafran

Page 37: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

jawny schemat Eulera do równania Newtona

• T = 100 s, ∆t = .01

•-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

v[m

/s]

x[m]

"fort.1" u 2:3

• ∆t = .001

• -1.5

-1

-0.5

0

0.5

1

1.5

-1 -0.5 0 0.5 1 1.5 2 2.5 3

"fort.1" u 2:3

∆t = .0001

• -1.5

-1

-0.5

0

0.5

1

1.5

-1 -0.5 0 0.5 1 1.5 2 2.5 3

"fort.1" u 2:3

• dla lepszych schematów wystepujapodobne problemy

• gdy mniejszyc krok ∆t wystapia, alepózniej:

• co zrobic - ustalic jaki zakres czasu nasinteresuje, do niego dobrac krok czasowy

• dobra metoda : o błedzie lokalnym rzeduwyzszego niz 2 pozwoli wykonac mniejkroków (pracowac z wiekszym ∆t

Bartłomiej Szafran

Page 38: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

jawny schemat Eulera do równania Newtona

• wprowadzmy opory ruchu:

• dxdt = v

• dvdt = − 1

mdVdx − αv

• α = 0.05, ∆t = 0.01

•-1.5

-1

-0.5

0

0.5

1

-1 -0.5 0 0.5 1 1.5 2 2.5 3

"fort.1" u 2:3

• wykres (x, v) - układ znajduje jedno z minimów potencjału

• minimum mozna znalezc szukajac numerycznie zer V ′(x).

Bartłomiej Szafran

Page 39: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

jawny schemat Eulera do równania Newtona

• α = 0.5, v(x), ∆t = 0.01

•-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

1.4 1.6 1.8 2 2.2 2.4 2.6 2.8 3

"fort.1" u 2:3

• α = 5, v(x), ∆t = 0.01

•-0.25

-0.2

-0.15

-0.1

-0.05

0

1.9 2 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9

"fort.1" u 2:3

Bartłomiej Szafran

Page 40: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

jawny schemat Eulera do równania Newtona

• duzy współczynnik tłumienia α = 201,

• v(t), ∆t = 0.01

•-1500

-1000

-500

0

500

1000

1500

0 2 4 6 8 10 12 14

v

t

"fort.1" u 1:3

• gdy α∆t > 2 rachunek eksploduje

• ciało wykonuje skoki o rosnacej z czasem amplitudzie

• predkosc zmienia znak i rosnie z kroku na krok

• problem: bezwzglednej niestabilnosci jawnego schematu Eulera

Bartłomiej Szafran

Page 41: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

bezwzgledna stabilnosc schematu Eulera

• DF: schemat dla danego równania i dla danego ∆t jest bezwglednie stabilny jesligenerowane wartosci pozostaja skonczone przy n→∞

• z układu równan, problematyczny jest czynnik z α

• dxdt = v

• dvdt = − 1

mdVdx − αv

• zajmiemy sie wiec równaniem

• dvdt = −αv , rozwiazanie analityczne v(t) = v(0) exp(−αt)

• vn+1 = vn − ∆tαvn

• vn+1 = vn(1− ∆tα)

• jesli |1− ∆tα| > 1, vn+1 dazy do nieskonczonosci z n

• dla α > 0 schemat bezwzglednie stabilny jesli ∆tα < 2

Bartłomiej Szafran

Page 42: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

region bezwzglednej stabilnosci jawnego schematu Eulera

• problem modelowy:

• dvdt = zv , z zespolona

• vn+1 = vn + ∆tzvn

• vn+1 = vn(1 + ∆tz)

• bezwzglednie stabilny dla

• |1 + ∆tz| < 1: czarny obszar na rysunku (region bezwzlednej stabilnosci jawnegoschematu Eulera)

•-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

Im(z

)Δt

Re(z)Δt

"fort.1"

• dla duzych "współczynników tłumienia" <(z) < 0 rozwiazanie dokładne C exp(zt) gasnie,a numeryczne eksploduje

Bartłomiej Szafran

Page 43: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

inny schemat Eulera

• dvdt = zv , z liczba zespolona

• jawny:• vn+1−vn

∆t = zvn, z zespolona• vn+1 = vn + ∆tzvn

• vn+1 = vn(1 + ∆tz)

• bezwzgledna stabilnosc: |1 + ∆tz| < 1.

•-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

Im(z

)Δt

Re(z)Δt

"fort.1"

• niejawny:• vn−vn−1

∆t = zvn, z zespolona• vn = vn−1 + ∆tzvn

• vn =vn−1

1−∆tz

• bezwzgledna stabilnosc: |1− ∆tz| > 1.

•• region bezwzglednej stabilnosci: czarny. Jesli Re(z) < 0 niejawny Euler pozostaje

bezwzglednie stabilny niezaleznie od kroku czasowego

Bartłomiej Szafran

Page 44: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

niejawny schemat Eulera

• dvdt = f (t, v)

• jawny:• vn+1 = vn + f (tn, vn)∆t• działa jak podstawienie

• niejawny:• vn+1 = vn + f (tn+1, vn+1)∆t• działa jak równanie na vn+1 –

nieliniowe jesli f – nieliniowe

Bartłomiej Szafran

Page 45: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

niejawny schemat Eulera

• dvdt = f (t, v)

• vn+1 = vn + f (tn+1, vn+1)∆t

• rozwiazanie dla leniwych programistów:

• iteracja: vµ+1n+1 = vn + f (tn+1, v

µn+1)∆t

• na starcie np. v1n+1 = vn

• jesli vµ+1n+1 = vµn+1, w praktyce |vµ+1

n+1 − vµn+1| < ε −→ vn+1 = vµ+1n+1

Bartłomiej Szafran

Page 46: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

iteracja czasowa w niejawnym Eulerze

• dvdt = −αv

• ∆t = 0.01, α = 20

• vµ+1n+1 = vn − αvµn+1

• v1 = 1

• v12 = 1

• vµ+12 = 1− αvµn+1

µ vµ22 0.83 0.844 0.83365 0.8333446 0.833331

• zbiega sie, lecz wymagane kilka iteracji

Bartłomiej Szafran

Page 47: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

iteracja czasowa w niejawnym Eulerze

• dvdt = −αv

• ∆t = 0.01, α = 200

• vµ+1n+1 = vn − αvµn+1

• v1 = 1

• v12 = 1

• vµ+12 = 1− αvµn+1

µ vµ22 -13 34 -55 116 -21

• tam gdzie jest problem dla jawnego Eulera ze stabilnosciabezwzgledna, tam niejawny Euler rozwiazywany przez prostaiteracje sie nie sprawdza

• potrzebny inny sposób wykonywania kroku w niejawnymEulerze

• Przepis niejawnego Eulera: vn+1 = vn + f (tn+1, vn+1)∆t , jestrównaniem nieliniowym. Potrzebne metody dedykowane dorozwiazywania równania nieliniowego.

Bartłomiej Szafran

Page 48: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

Rozwiazywanie równan nieliniowych. Case study: przestrzendostepna dla ciała o danej energii

•-1.4

-1.2

-1

-0.8

-0.6

-0.4

-0.2

0

-2 -1 0 1 2 3 4

EEV

x• czastka o energii E = −0.6 [J]. Energia potencjalna zalezna od połozenia x [m]

V (x) = − exp(−x2)− 1.2 exp(−(x − 2)2)[J]

• wyznaczyc obszar dostepny 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

Bartłomiej Szafran

Page 49: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

równania nieliniowe: metoda bisekcji

• rozwiazanie równania nieliniowego: najprostsza zmetod – bisekcja

0 osaczyc zero : f (b) > 0 oraz f (a) < 0, i := 1

1 mi = a+b2

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 jesli |a− b| > zadanej precyzji wyznaczeniazera, wracamy do 1)

• z kazdym krokiem przedział, w którym poszukujemy zera (dokładnosc jego oszacowania)skraca sie o połowe

Bartłomiej Szafran

Page 50: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

metoda bisekcji

•-1.4

-1.2

-1

-0.8

-0.6

-0.4

-0.2

0

2 2.5 3 3.5 4

EEEEEEEV

x

1

2

3

45678910

•-1.1

-1

-0.9

-0.8

-0.7

-0.6

-0.5

-0.4

-0.3

2.4 2.5 2.6 2.7 2.8 2.9 3

V

x

1

2

3

4

5678910

• f (x) ≡ V (x)− E = 0, na rysunkach V (x)

-0.62

-0.6

-0.58

-0.56

-0.54

2.78 2.8 2.82 2.84 2.86 2.88 2.9

Vx

4

5

6

7

8910

• metoda bisekcji: reaguje tylko na znak funkcji,ignoruje wartosc oraz kształt krzywej

• dokładnosc wyznaczenia zera scisle okreslonaprzez liczbe wywołan funkcji

Bartłomiej Szafran

Page 51: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

metoda bisekcji

•0.00000001

0.00000010

0.00000100

0.00001000

0.00010000

0.00100000

0.01000000

0.10000000

1.00000000

0 5 10 15 20

|f(x)|

i• zbieznosc f (x) ≡ V (x)− E = 0, dla kolejnych iteracji i

Bartłomiej Szafran

Page 52: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

potrzeba linearyzacji

-0.62

-0.6

-0.58

-0.56

-0.54

2.78 2.8 2.82 2.84 2.86 2.88 2.9

V

x

4

5

6

7

8910

• Wolna zbieznosc. Problem, jesli wyliczenief (x) trwa np. 48h.

• Trzeba przyspieszyc.• Kazda funkcja gładka w małym przedziale

(w duzym zoomie) zachowuje sie jak funkcjaliniowa.

• Mozliwosc przyspieszenia rachunków zwykorzystaniem linearyzacji funkcjinieliniowej w okolicach zera

• Metoda: nazywana metoda stycznych,metoda Newtona albo metodaNewtona-Raphsona

Bartłomiej Szafran

Page 53: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

metoda Newtona-Raphsona (stycznych, Newtona)

-0.62

-0.6

-0.58

-0.56

-0.54

2.78 2.8 2.82 2.84 2.86 2.88 2.9

V

x

4

5

6

7

8910

• rozwiniecie w szereg Tayloraf (x) = f (x0) + (x − x0)f ′(x)|x0 + (x − x0)2f ′′(x)|x0 + . . .

• szukamy f (x) = 0, x0 to okolice zera f (x), jesli jestesmy blisko(x − x0)2 - zaniedbywalne w porównaniu z wyrazem liniowym(x − x0)

• rozwiniecie w szereg Taylora 0 = f (x) ' f (x0) + (x − x0)f ′(x0)

• liczymy 0 = f (x0) + (x − x0)f ′(x0)→ x = x0 − f (x0)f ′(x0)

• procedura iteracyjnej poprawy oszacowania zera xn+1 = xn − f (xn)f ′(xn)

• w porównaniu do metody bisekcji wykorzystuje nie tylko znak funkcji, lecz jej (1) wartoscoraz (2) pochodna (wysokosc nad osia i nachylenie wykresu)

Bartłomiej Szafran

Page 54: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

metoda Newtona-Raphsona

• metoda N-R sprowadza sie do linearyzacji funkcji i przewidzenia, gdzie liniowa funkcjaprzetnie os x

• jestesmy w punkcie x0 - prowadzimy prosta, która przechodzi przez punkt (x0, f (x0)) orazma nachylenie dane przez f ′(x0)

• równanie prostej : F (x) = f (x0) + (x − x0)f ′(x0).

• szukamy jej zera: dostajemy przepis jak poprzednio:

• procedura iteracyjnej poprawy oszacowania zera xn+1 = xn − f (xn)f ′(xn)

• uwaga: dla funkcji liniowej procedura uzyskuje dokładny wynik w jednej iteracji (tempozbieznosci bisekcji w ogóle nie zalezy od zachowania f (x) w okolicach zera).

Bartłomiej Szafran

Page 55: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

metoda Newtona-Raphsona

• procedura iteracyjnej poprawy oszacowania zera xn+1 := xn − f (xn)f ′(xn)

Bartłomiej Szafran

Page 56: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

metoda Newtona-Raphsona

• V (x)− E = 0, E = −0.6

• f (x) = −e−x2− 1.2 e−(x−2)2

+ 0.6

• f ′(x) = 2 xe−x2− 1.2 (−2 x + 4) e−(x−2)2

• procedura iteracyjnej poprawy oszacowania zera xn+1 := xn − f (xn)f ′(xn)

Bartłomiej Szafran

Page 57: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

metoda Newtona-Raphsona wyniki

• f (x) = V (x)− E

• f (x) = −e−x2− 1.2 e−(x−2)2

+ 0.6

• f ′(x) = 2 xe−x2− 1.2 (−2 x + 4) e−(x−2)2

•-0.65

-0.6

-0.55

-0.5

-0.45

-0.4

-0.35

2.8 2.85 2.9 2.95 3 3.05 3.1

V

x

1

2345678910

Bartłomiej Szafran

Page 58: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

metoda Newtona-Raphsona wyniki

• f (x) = V (x)− E

• f (x) = −e−x2− 1.2 e−(x−2)2

+ 0.6

• f ′(x) = 2 xe−x2− 1.2 (−2 x + 4) e−(x−2)2

-0.60006

-0.60004

-0.60002

-0.6

-0.59998

-0.59996

-0.59994

2.83281 2.83282 2.83283 2.83284 2.83285 2.83286 2.83287 2.83288 2.83289 2.83290

V

x

3

45678910

Bartłomiej Szafran

Page 59: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

metoda Newtona-Raphsona wyniki

• f (x) = V (x)− E

• f (x) = −e−x2− 1.2 e−(x−2)2

+ 0.6

• f ′(x) = 2 xe−x2− 1.2 (−2 x + 4) e−(x−2)2

-0.60005

-0.60004

-0.60003

-0.60002

-0.60001

-0.60000

-0.59999

-0.59998

-0.59997

2.83282 2.83283 2.83284 2.83285 2.83286 2.83287 2.83288 2.83289 2.83290

V

x

3

45678910

Bartłomiej Szafran

Page 60: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

metoda Newtona-Raphsona a bisekcji - porównanie tempazbieznosci

•0.00000001

0.00000010

0.00000100

0.00001000

0.00010000

0.00100000

0.01000000

0.10000000

1.00000000

1 1.5 2 2.5 3 3.5 4

|f(x)|

i• metoda Newtona

•0.00000001

0.00000010

0.00000100

0.00001000

0.00010000

0.00100000

0.01000000

0.10000000

1.00000000

0 5 10 15 20

|f(x)|

i• metoda bisekcji

Bartłomiej Szafran

Page 61: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

metoda Newtona-Raphsona

• zbieznosc procedury, x - punkt startowy, x3 - punkt osiagniety w trzeciej iteracji

• xn+1 = xn − f (xn)/f ′(xn)

•-2

-1

0

1

2

3

4

-2 -1 0 1 2 3 4

f(x)

x3

f(x3)

x

"fort.3"u1:3"fort.3"u1:2"fort.3"u1:4

• zbieznosc ograniczona do okolicy zera - styczna moze wyprowadzic iteracje do ±∞• powodzenie metody zalezy od punktu startowego. bisekcja nie moze sie nie powiesc.

• rekomendowana metoda: zblizyc sie do okolic zera metoda bisekcji. dokładne połozenieokreslic metoda Newtona.

Bartłomiej Szafran

Page 62: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

metoda Newtona-Raphsona

• xn+1 = xn − f (xn)/f ′(xn)

• jesli pochodna nie jest dana w formie analitycznej (sama funkcja nie musi byc) mozemyzastosowac przyblizenie pochodnej.

• punkt zbieznosci iteracji nie moze ulec zmianie

• pochodna f ′(x) ' f (x+dx)−f (x−dx)2dx

Bartłomiej Szafran

Page 63: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

metoda Newtona-Raphsona

• zbieznosc - wartosci w kolejnych iteracjach, z ilorazem róznicowym zamiast pochodnej,start od x = 3

• dokładna pochodna

•0.00000001

0.00000010

0.00000100

0.00001000

0.00010000

0.00100000

0.01000000

0.10000000

1.00000000

1 1.5 2 2.5 3 3.5 4

|f(x)|

i• dx = 0.1

•0.00000001

0.00000010

0.00000100

0.00001000

0.00010000

0.00100000

0.01000000

0.10000000

1.00000000

1 1.5 2 2.5 3 3.5 4 4.5 5

|f(x)|

i

• dx = 0.5

•0.00000001

0.00000010

0.00000100

0.00001000

0.00010000

0.00100000

0.01000000

0.10000000

1.00000000

1 2 3 4 5 6 7 8 9|f(x)|

i

Bartłomiej Szafran

Page 64: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

metoda Newtona dla wykonania kroku w niejawnym schemacieEulera

• dvdt = f (t, v)

• vn+1 = vn + f (tn+1, vn+1)∆t

• F (vn+1) ≡ vn + f (tn+1, vn+1)∆t − vn+1

• F (vn+1) = 0

• vµ+1n+1 = vµn+1 −

F (vµn+1)

F ′(vµn+1)

• Metoda Newtona dla niejawnego Eulera:

• vµ+1n+1 = vµn+1 −

vn + f (tn+1, vµn+1)∆t − vµn+1

f ′v (tn+1, vµn+1)∆t − 1

Bartłomiej Szafran

Page 65: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

metoda Newtona dla wykonania kroku w niejawnym schemacieEulera

• dvdt = f (t, v) = −αv

• v1 = 1, α = 200, dt = 0.01

• vµ+1n+1 = vµn+1 −

vn + f (tn+1, vµn+1)∆t − vµn+1

f ′v (tn+1, vµn+1)∆t − 1

• pochodna w mianowniku z ilorazu róznicowego

µ vµ22 0.333333333 0.333333334 0.33333333

• zbieznosc w jednej iteracji, bo prawa strona jest liniowafunkcja v

Bartłomiej Szafran

Page 66: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

• dvdt = f (t, v) = −αv

• v1 = 1, α = 2000 , dt = 0.01

• vµ+1n+1 = vµn+1 −

vn + f (tn+1, vµn+1)∆t − vµn+1

f ′v (tn+1, vµn+1)∆t − 1

• pochodna w mianowniku z ilorazu róznicowego

µ vµ22 0.0476193 0.0476194 0.047619

• zbieznosc w jednej iteracji, bo prawa strona jest liniowafunkcja v , niezaleznie od α

Bartłomiej Szafran

Page 67: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

niejawny Euler dla problemu nieliniowego

• dvdt = −αv2

• v1 = 1, α = 2000 , dt = 0.01

• vµ+1n+1 = vµn+1 −

vn + f (tn+1, vµn+1)∆t − vµn+1

f ′v (tn+1, vµn+1)∆t − 1

• pochodna w mianowniku z ilorazu róznicowego

µ vµ22 0.51213 0.29074 0.21305 0.20036 0.2000

• dla problemu nieliniowego kilka iteracji potrzebne zbieznoscwymaga kilku iteracji

Bartłomiej Szafran

Page 68: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

niejawny Euler dla układu równan

• układ równan rózniczkowych

• dxdt = v

• dvdt = − 1

mdVdx

• przepis metody

• xn+1 = xn + ∆tvn+1

• vn+1 = vn + ∆t(− 1

mdVdx |xn+1

− αvn+1

)• układ równan nieliniowych:

• F1(xn+1, vn+1) = xn+1 − xn − ∆tvn+1

• F2(xn+1, vn+1) = vn+1 − vn − ∆t(− 1

mdVdx |xn+1

− αvn+1

)• jak rozwiazac ?

Bartłomiej Szafran

Page 69: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

układy równan nieliniowych: metoda Newtona

• f1(x, y) = 0

• f2(x, y) = 0

• linearyzacja wokół (x0, y0) - przyblizonego rozwiazania.

• chcemy znalezc poprawione rozwiazanie:

• f1(x, y) ' f1(x0, y0) + (x − x0) ∂f1∂x |x0,y0 + (y − y0) ∂f1

∂y |x0,y0 = 0

• f2(x, y) ' f2(x0, y0) + (x − x0) ∂f2∂x |x0,y0 + (y − y0) ∂f2

∂y |x0,y0 = 0

• albo

• ∆x ∂f1∂x |x0,y0 + ∆y ∂f1

∂y |x0,y0 = −f1(x0, y0)

• ∆x ∂f2∂x |x0,y0 + ∆y ∂f2

∂y |x0,y0 = −f2(x0, y0)

• mamy wiec układ równan liniowych

Bartłomiej Szafran

Page 70: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

układy równan nieliniowych: metoda Newtona

• ∆x ∂f1∂x |x0,y0 + ∆y ∂f1

∂y |x0,y0 = −f1(x0, y0)

• ∆x ∂f2∂x |x0,y0 + ∆y ∂f2

∂y |x0,y0 = −f2(x0, y0)

• wersja macierzowa

• (∂f1∂x

∂f1∂y

∂f2∂x

∂f2∂y

)|x0,y0

(∆x∆y

)= −

(f1(x0, y0)f2(x0, y0)

)(1)

• dla wiekszej liczby równan podobnie

• po rozwiazaniu: x := x + ∆x, y := y + ∆y , iteracja az do zbieznosci (az 0 po prawejstronie URL)

• macierz w układzie (1) - macierz Jakobiego

• dla porównania metoda Newtona w wersji skalarnej

•dfdx|x0 ∆x = −f (x0) (2)

Bartłomiej Szafran

Page 71: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

układy równan 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) = ∂W∂x , f2(x, y) = ∂W

∂y

• x0 = −1, y0 = 5

• (∂f1∂x

∂f1∂y

∂f2∂x

∂f2∂y

)|x0,y0

(∆x∆y

)= −

(f1(x0, y0)f2(x0, y0)

)(3)

• x0 := x0 + ∆x• y0 := y0 + ∆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)

Bartłomiej Szafran

Page 72: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

układy równan nieliniowych: metoda Newtona

• przykład, szukamy minimum przez zera pochodnych czastkowych

• W (x, y) =[

(x − 2)2 + 5(y − 2)2]m

• (∂f1∂x

∂f1∂y

∂f2∂x

∂f2∂y

)|x0,y0

(∆x∆y

)= −

(f1(x0, y0)f2(x0, y0)

)(4)

• m = 1

• x0 = −1, y0 = 5

• iteracja 1: x0 = 2, y0 = 2

• prawa strona 0

• rozwiazanie na ∆x = ∆y = 0

• dla m = 1 problem jest liniowy i rozwiazanie znajdywane jest w jednej iteracji

Bartłomiej Szafran

Page 73: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

układy równan nieliniowych: metoda Newtona

• przykład, szukamy minimum przez zera pochodnych czastkowych

• W (x, y) =[

(x − 2)2 + 5(y − 2)2]m

• (∂f1∂x

∂f1∂y

∂f2∂x

∂f2∂y

)|x0,y0

(∆x∆y

)= −

(f1(x0, y0)f2(x0, y0)

)(5)

• m = 1.1

• x0 = −1, y0 = 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

Bartłomiej Szafran

Page 74: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

układy równan nieliniowych: metoda Newtona

• przykład, szukamy minimum przez zera pochodnych czastkowych

• W (x, y) =[

(x − 2)2 + 5(y − 2)2]m

• (∂f1∂x

∂f1∂y

∂f2∂x

∂f2∂y

)|x0,y0

(∆x∆y

)= −

(f1(x0, y0)f2(x0, y0)

)(6)

• m = 1.1• x0 = −1, y0 = 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

Bartłomiej Szafran

Page 75: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

układy równan nieliniowych: metoda Newtona

• przykład, szukamy minimum przez zera pochodnych czastkowych

• W (x, y) =[

(x − 2)2 + 5(y − 2)2]m

• (∂f1∂x

∂f1∂y

∂f2∂x

∂f2∂y

)|x0,y0

(∆x∆y

)= −

(f1(x0, y0)f2(x0, y0)

)(7)

• m = 2• x0 = −1, y0 = 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

Bartłomiej Szafran

Page 76: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

niejawny Euler dla problemu oscylatora anharmonicznego

• xn+1 = xn + ∆tvn+1

• vn+1 = vn + ∆t(− 1

mdVdx |xn+1

− αvn+1

)• układ równan nieliniowych:

• F1(xn+1, vn+1) = xn+1 − xn − ∆tvn+1

• F2(xn+1, vn+1) = vn+1 − vn − ∆t(− 1

mdVdx |xn+1

− αvn+1

)• (

∂F1∂xn+1

∂F1∂vn+1

∂F2∂xn+1

∂F2∂vn+1

)|xµ

n+1,vµ

n+1

(xµ+1

n+1 − xµn+1vµ+1

n+1 − vµn+1

)= −

(F1(xµn+1, v

µn+1)

F2(xµn+1, vµn+1)

)(8)

Bartłomiej Szafran

Page 77: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

niejawny Euler dla problemu oscylatora anharmonicznego

• xn+1 = xn + ∆tvn+1

• vn+1 = vn + ∆t(− 1

mdVdx |xn+1

− αvn+1

)• układ równan nieliniowych:

• F1(xn+1, vn+1) = xn+1 − xn − ∆tvn+1

• F2(xn+1, vn+1) = vn+1 − vn − ∆t(− 1

mdVdx |xn+1

− αvn+1

)• (

∂F1∂xn+1

∂F1∂vn+1

∂F2∂xn+1

∂F2∂vn+1

)|xµ

n+1,vµ

n+1

(xµ+1

n+1 − xµn+1vµ+1

n+1 − vµn+1

)= −

(F1(xµn+1, v

µn+1)

F2(xµn+1, vµn+1)

)(9)

(1 −∆t

∆tm

d2Vdx2 |xµ

n+1

1 + ∆tα

)|xµ

n+1,vµ

n+1

(xµ+1

n+1 − xµn+1vµ+1

n+1 − vµn+1

)= −

(F1(xµn+1, v

µn+1)

F2(xµn+1, vµn+1)

)(10)

Bartłomiej Szafran

Page 78: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

jawny schemat Eulera do równania Newtona

• jawny (α = 0)• T = 100 s, ∆t = .01

•-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

v[m

/s]

x[m]

"fort.1" u 2:3

• ∆t = .001

• -1.5

-1

-0.5

0

0.5

1

1.5

-1 -0.5 0 0.5 1 1.5 2 2.5 3

"fort.1" u 2:3

∆t = .0001

• -1.5

-1

-0.5

0

0.5

1

1.5

-1 -0.5 0 0.5 1 1.5 2 2.5 3

"fort.1" u 2:3

• niejawny (α = 0) - numeryczna dysypacja• T = 100 s, ∆t = .01

•• ∆t = .001

• ∆t = .0001

Bartłomiej Szafran

Page 79: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

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 bezwzglednej stabilnosci pokonana

Bartłomiej Szafran

Page 80: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

zródło

do 15 iter=1,100 0011 continueA(1,1)=1A(1,2)=-dtA(2,1)=dt/xm*(fu(x+dx)+fu(x-dx)-2*fu(x))/dx**2A(2,2)=1+dt*alphab(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+1if(li.lt.5) goto11xo=xvo=vwrite(18,13) iter*dt,x,v,fu(x)+xm*v**2/215 continue12 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,dxf1=x-xo-dt*vend

function f2(x,v)implicit double precision(a-h,o-z)common/xovo/xo,vo,dt,xm,alpha,dxf2=v-vo-dt*(-1/xm*(fu(x+dx)-fu(x-dx))/2/dx-alpha*v)end

Bartłomiej Szafran

Page 81: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

Schemat Eulera jako wzór prostokatów

• równanie rózniczkowe 1 rzedu w t : df (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

• przypadek trywialny: df (x,t)dt = P(t)

• f (x, t + dt) = f (x, t) +∫ t+dt

tP(t′)dt′

• przepis jawnego Eulera jesli funkcje podcałkowa przyblizymyprzez P(t)

• f (x, t + dt) ' f (x, t) + P(t)dt• wzór dokładnie całkuje funkcje stała, w funkcji liniowej sie

myli (pomija ja), tak ze bład jest rzedu całki z funkcji liniowej,czyli O(dt2):

• f (x, t + dt) = f (x, t) + P(t)dt + O(dt2)

inin

Bartłomiej Szafran

Page 82: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

Wzór trapezów

• dokładniejsza formuła: wzór trapezów

• f (x, t + dt) = f (x, t) +∫ t+dt

tP(t′)dt′

• całka pod krzywa na podstawie wzoru napole trapezu:

• f (x, t + dt) ' f (x, t) + dt P(t)+P(t+dt)2

• wzór dokładnie całkuje funkcje liniowa, wfunkcji kwadratowej sie myli

• f (x, t + dt) = f (x, t) +P(t)+P(t+dt)

2 dt + O(dt3) •• dokładniejszy w czasie o jeden rzad.• implementacja dla równan Newtona...

Bartłomiej Szafran

Page 83: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

schemat trapezów dla układu równan

• xn+1 = xn + ∆t2 (vn+1 + vn)

• vn+1 = vn + ∆t2

(− 1

mdVdx |xn+1

− αvn+1 − 1m

dVdx |xn − αvn

)• układ równan nieliniowych:

• F1(xn+1, vn+1) = xn+1 − xn − ∆t2 vn+1 − ∆t

2 vn

• F2(xn+1, vn+1) = vn+1 − vn − ∆t2

(− 1

mdVdx |xn+1

− αvn+1

)− ∆t

2

(− 1

mdVdx |xn − αvn

)• (

∂F1∂xn+1

∂F1∂vn+1

∂F2∂xn+1

∂F2∂vn+1

)|xµ

n+1,vµ

n+1

(xµ+1

n+1 − xµn+1vµ+1

n+1 − vµn+1

)= −

(F1(xµn+1, v

µn+1)

F2(xµn+1, vµn+1)

)(11)

(1 −∆t

2∆t2m

d2Vdx2 |xµ

n+1

1 + ∆t2 α

)|xµ

n+1,vµ

n+1

(xµ+1

n+1 − xµn+1vµ+1

n+1 − vµn+1

)= −

(F1(xµn+1, v

µn+1)

F2(xµn+1, vµn+1)

)(12)

Bartłomiej Szafran

Page 84: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

schemat trapezów

• wzór trapezów (α = 0)• T = 100 s, ∆t = .01

• -1.5

-1

-0.5

0

0.5

1

1.5

-1 -0.5 0 0.5 1 1.5 2 2.5 3

"fort.18"u2:3

• ∆t = .1

• -1.5

-1

-0.5

0

0.5

1

1.5

-1 -0.5 0 0.5 1 1.5 2 2.5 3

"fort.18"u2:3

∆t = .2

• -1.5

-1

-0.5

0

0.5

1

1.5

-1 -0.5 0 0.5 1 1.5 2 2.5 3

"fort.18"u2:3

• niejawny Euler (α = 0)• T = 100 s, ∆t = .01

•• ∆t = .001

• ∆t = .0001

Bartłomiej Szafran

Page 85: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

schemat trapezów i Eulera: zachowanie energii

• wzór trapezów (dt=0.2, 0.1, .01)

•-0.62

-0.6

-0.58

-0.56

-0.54

-0.52

-0.5

-0.48

0 10 20 30 40 50 60 70 80 90 100 110

E[J]

t[s]

"dtk1.dat"u1:4"dtk2.dat"u1:4

"dtk01.dat"u1:4

• wzór trapezów (dt=0.2, 0.1, .01)

•-0.60003

-0.60003

-0.60002

-0.60002

-0.60001

-0.60001

-0.60000

-0.60000

-0.59999

0 10 20 30 40 50 60 70 80 90 100

E[J]

t[s]

"dtk01.dat"u1:4

• niejawny Euler, wzór trapezów (dt=0.01,.001) (α = 0 na wszystkich 3 rysunkach)

•-0.9

-0.85

-0.8

-0.75

-0.7

-0.65

-0.6

0 10 20 30 40 50 60 70 80 90 100 110

E[J]

t[s]

"dtk001.dat"u1:4"dtk01.dat"u1:4

• tempo zmiany energii dla Eulera przydt = 0.001 odpowiada schematowitrapezów przy dt = 0.2.

• dla schematu trapezów zmiana energii przydt = 0.01 zaniedbywalna

Bartłomiej Szafran

Page 86: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

Zrodło dla wzoru trapezów

do 15 iter=1,1000011 continueA(1,1)=1A(1,2)=-dt/2A(2,1)=dt/xm*(fu(x+dx)+fu(x-dx)-2*fu(x))/dx**2/2A(2,2)=1+dt*alpha/2b(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+1if(li.lt.5) goto11xo=xvo=vwrite(18,13) iter*dt,x,v,fu(x)+xm*v**2/215 continue12 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,dxf1=x-xo-dt*v/2-dt*vo/2end

function f2(x,v)implicit double precision(a-h,o-z)common/xovo/xo,vo,dt,xm,alpha,dxf2=v-vo-dt*(-1/xm*(fu(x+dx)-fu(x-dx))/2/dx-alpha*v)/2>-dt*(-1/xm*(fu(xo+dx)-fu(xo-dx))/2/dx-alpha*vo)/2end

Bartłomiej Szafran

Page 87: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

Arytmetyka zmiennoprzecinkowa: -1z × m × 2w

32-bitowa pojedyncza precyzja:rozmiar nazwa1 bit znak (z)8 bits wykładnik (w)23 bits mantysa (m)

mantysa w binarnym zapisie m=10101 …oznacza m=1*20 +0*2-1+1*2-2 +0*2-3 +1*2-4+...

Wykładnik: w=28=256 wartości. Kodowane z tzw. Bias -127,tak, że 2w w zakresie od 2-127 do 2127 , w przybliżeniu 10-38 do 1038

Liczby zmiennoprzecinkowe są położone dyskretnie na osi x. Liczby rzeczywiste reprezentowane są przez zmiennoprzecinkowe w przybliżeniu, z błędem zaokrągleń.

Page 88: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

zbieżność metody różnicowej a błędy zaokrągleń (skończona dokładność arytmetyki zmiennoprzecinkowej)

Arytmetyka zmiennoprzecinkowa:

-1z × m × 2w

rozmiar nazwa1 bit znak (z)8 bits wykładnik (w)23 bits mantysa (m)

Page 89: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

błędy zaokrągleń a zbieżność

pojedyncza precyzja: 32 bitypodwójna : 64 bity

arytmetyka 21 – bitowa

do tej pory zakładaliśmy, że błędy zaokrągleń nie ma (że arytmetyka dokładna)arytmetyka zmiennoprzecinkowa nie jest dokładna.

błąd minimalny

zmniejszanie kroku czasowego nie poprawi jużwyniku

Page 90: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

błędy zaokrągleń a metody różnicowe

rozwiązanie równania różniczkowego w chwili tn

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

Page 91: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

błąd zaokrągleń rzędu liczby wykonanych kroków, czyli 1/dt

błąd globalny dla schematu Eulera

błędy zaokrągleń a metody różnicowe

d t

oszacowanie od góry błędu całkowitego

optymalny krok czasowy

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ń dają o sobie znać gdy wykonamy zbyt wiele kroków

dt

błąd

Page 92: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

Definicja: Metody różnicowa jest zbieżna jeśli błąd globalny

znika do zera w chwili T gdy z t do 0

błąd zaokrągleń

błąd globalny dla schematu Eulera

błędy zaokrągleń a metody różnicowe

d t

oszacowanie od góry błędu całkowitego

optymalny krok czasowy

błąd całkowity

błąd globalny

błąd zaokrąglenia

uwaga:definicja zbieżnościdotyczy błędu globalnegoa nie całkowitego

Page 93: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

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)

Page 94: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

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 =2schemat trapezów jest najdokładniejszą metodą A-stabilną spośród liniowych metodwielokrokowychImplementowana np. w SPICE.

t Re()

t Im ()

region bzwz. stabilności wzoru trapezów

Page 95: Metody obliczeniowe fizyki i techniki I - galaxy.uci.agh ...galaxy.uci.agh.edu.pl/~bszafran/mofit/wyk1.pdf · (metoda Newtona), Interpolacja wielomianowa (Lagrange’a) całkowanie

t Re()

t Im ()

region bzwz. stabilności Eulera:koło o promieniu 1i środku (-1,0)

t Re()

t Im ()

region bzwz. stabilności wzoru trapezów

t Re()

t Im ()

1

-1

niejawna metoda Eulera:region bezwzględnej stabilności