Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałNadzieja Wiśniewska Został zmieniony 9 lat temu
1
[przepis na kolejne wartości rozwiązania liczone
najprostszy iloraz drugiej pochodnej produkuje przepis z błądem lokalnym rzędu 4 całkiem nieźle, ale: można lepiej = metoda Numerowa błąd lokalny rzędu 6 metoda Numerowa: [przepis na kolejne wartości rozwiązania liczone z błędem O(Dx6) zamiast O(Dx4)]: Stosowana do równania typu: [ równanie liniowe II rzędu, bez pierwszej pochodnej]
2
równanie traktowalne metodą Numerowa: oryginalne równanie Poissona występuje pochodna – nie podejdziemy Numerowem sprowadzone do wersji odpowiedniej dla Numerowa przez podstawienie
3
Metoda Numerowa – wyprowadzenie:
druga pochodna prawej strony równania różniczkowego po wstawieniu wyżej błąd pozostanie rzędu 4
4
Obustronnie mnożymy przez Dx2, grupujemy wyrazy
Podstawowa formuła metody Numerowa wykorzystać – można na podobnie wiele sposobów tak - jak iloraz centralny drugiej pochodnej: np. problem brzegowy – z relaksacją lub jak problem początkowy
5
W naszym przykładzie: g=0, S= -4prn
Metoda Numerowa wstecz: Dyskretyzacja bezpośrednia: Dr = 0.1 r cała różnica w sposobie uwzględniania niejednorodności (źródeł) Przy tym samym skoku siatki błąd Numerowa jest zaniedbywalny w porównaniu z błędem dyskretyzacji bezpośredniej. S (n) – wzywane trzykrotnie, lecz można stablicować, złożoność obliczeniowa nie rośnie f(numeryczne)-f(analityczne)
6
metoda Numerowa w całkowaniu do przodu z analitycznym f1
Przypominam wynik przy podejściu poprzednim: r r f(numeryczne)-f(analityczne) f(numeryczne)-f(analityczne) r Błąd jest podobnego pochodzenia (numeryczne<>analityczne) i podobnego charakteru (liniowy z r) ale znacznie mniejszy (błąd popełniony przez Numerowa w obszarze gdzie n nie znika – znacznie mniejszy)
7
Nie każde równanie różniczkowe zwyczajne można rozwiązać metodą Numerowa,
ale każde można w sposób ścisły sprowadzić do układu równań pierwszego rzędu np: Rozwiązywać takie układy równań już potrafimy rozwiązujemy wstecz: f(duże x)=-1, df/dx(duże x)=0
8
Równanie drugiego rzędu a układ równań pierwszego rzędu : dokładność
centralny iloraz różnicowy drugiej pochodnej Euler: dyskretyzacja pierwszej pochodnej po sprowadzeniu równania drugiego rzędu do układu dwóch równań rzędu pierwszego całkowany wstecz Euler O(Dx2) metoda z centralnym iloraz różnicowy drugiej pochodnej O(Dx4) Numerow O(Dx6) Redukcja rzędu równania przez sprowadzenie do układu równań pierwszego rzędu ma swoją cenę.
9
Jak spisuje się RK2 ? Euler O(Dx2) RK2 O(Dx3) Dyskretyzacja drugiej pochodnej O(Dx4) Numerow O(Dx6) Znacznie lepiej niż Euler, ale wciąż gorzej niż dyskretyzacja drugiej pochodnej.
10
RK4: O(Dx5) Numerow O(Dx6) Dokładność bliska Numerowa a nawet lepsza Dr=0.1 Dr=0.1 Nieco słabsza od Numerowa, gdy wziąć poprawkę na wzywanie prawej strony w punktach pośrednich:
11
Przykład był nietypowy:
dla prawego brzegu: mogliśmy zadać w sposób dokładny (analitycznie i numerycznie) wartość rozwiązania w kroku ostatnim i przedostatnim. W praktyce: rzadko tak jest: rozwiązując problem brzegowy metodami dla problemu początkowego – musimy wyznaczyć wartość w punkcie sąsiednim do brzegowego) – metoda strzałów
12
metoda strzałów dla dwupunktowych problemów brzegowych
(zastosowanie metod do problemu początkowego) ... rozwiązanie problemu brzegowego przy pomocy metod dedykowanych do zagadnienia początkowego istota metody: parametryzacja rozwiązań przy pomocy dodatkowego wb na jednym z końców + wybór parametru, który daje spełnienie prawego wb.
13
rozważmy 2-punktowy nieliniowy problem brzegowy drugiego rzędu
stowarzyszony problem początkowy: w metodzie strzałów kluczowa zależność od swobodnego parametru a rozwiązywać będziemy problem początkowy szukając takiej wartości parametru swobodnego aby y1(b;a)=B problem sprowadza się do rozwiązania nieliniowego równania na a
14
y1(b;a)=B metoda strzałów y y=B a2 a1 y=A x=a x=b
na rysunku: musimy trafić z pochodną w x=a tak aby na końcu nasz „pocisk” trafił w y=B (stąd nazwa metody) y1(b;a) zależy w sposób ciągły od a. tutaj: a1 za duża a2 zbyt mała
15
i zawęzić przedział poszukiwania zera
metoda strzałów y(b,a) B a=a a=(a1+a2)/ a=a1 y1(b;a)=B można rozwiązać bisekcją: wyliczyć y1(b;(a1+a2)/2) i zawęzić przedział poszukiwania zera kończymy gdy przedział wystarczająco zawężony
16
y1(b;a)=B metoda strzałów y(b,a) od bisekcja lepsza metoda siecznych
zakładamy, że y(b,a) jest liniowa w okolicy a1,a2 prowadzimy interpolacje : B a=a a=a a=a1 B powinno znajdować się w kończymy np., gdy |y(b,a3) –B| <e możliwe użycie zamiast prostej: wielomianu interpolacyjnego stopnia 2
17
y1(b;a)-B=0 metoda strzałów z iteracją Newtona y1(b,a) B a=a2 a=a1
można metodą Newtona potrzebna pochodna po a jak wyznaczyć:
18
zbieżność Newtona / siecznych
zbieżność Newtona (zazwyczaj): kwadratowa, ale wykonanie każdego kroku wymaga rozwiązania dodatkowego problemu początkowego zbieżność siecznych: wolniejsza ale tańsza iteracja bisekcja: wolniejsza, ale nie tańsza od siecznych sensowne użycie, gdy nieróżniczkowalna zależność od parametru swobodnego
19
metoda strzałów z iteracją Newtona
wyznaczyć różniczkujemy po a nazywamy:
20
metoda strzałów z iteracją Newtona
wyznaczyć różniczkujemy po a stowarzyszony problem początkowy do rozwiązania w funkcji x z1(x=b,a) da nam mianownik do metody Newtona
21
przykład: pręt w imadle (clamped elastica)
pręt jednostkowej długości jest zamocowany sztywno pod zadanym kątem w imadle które zaciskają się z obciążeniem P. P q P q(s)=? s-współrzędna położenia wzdłuż pręta dla pręta jednostkowej długości 0<s<1 znamy kąt q(0)=b, q(1)=- b, Z warunków symetrii: q(1/2)=0 z teorii elastyczności: (problem nieliniowy) poszukujemy: 1) kształtu pręta i co za tym idzie 2) rozstawienia szczęk imadła przygotujmy problem do metody strzałów z metodą Newtona: równanie nieliniowe do rozwiązania: równania z wp zadane b parametr do wyznaczenia
22
przygotujmy problem do metody strzałów z metodą Newtona:
pochodna problemu początkowego po a kolejność działań: rozwiązujemy problem na y: licznik do wyliczenia mianownika rozwiązujemy problem na z: [z2’ wykorzystuje policzone w 1) y1] znajdujemy poprawione a
23
zaciśnięty pręt b=p/4, na starcie pochodna kąta q po s: a=1, P=10,
obydwa problemy początkowe rozwiązane jawnym schematem Eulera z ds=0.5/100 a=1 nie spełnia warunku brzegowego w połowie pręta „złamany” pręt kształt pręta
24
zaciśnięty pręt b=p/4, na starcie pochodna kąta q po s: a=1, P=10,
problemy własne rozwiązane jawnym schematem Eulera z ds=0.5/100 a=1 nie spełnia warunku brzegowego w połowie pręta „złamany” pręt . 1 2 3 4 x ( s ) y kształt pręta
25
iteracja Newtona a q(1/2,a) E E-01 E-04 E-11 E-15 E-16 E-16 znaleźliśmy wartość parametru a która daje właściwy kształt pręta możemy teraz sobie odległość między szczękami wyliczyć
26
yi b) metoda różnic skończonych
nadal problem nieliniowy 2-go rzędu z warunkiem Dirichleta przedział (a,b) dzielimy na siatkę, powiedzmy o stałym kroku: punkty siatki: w metodzie strzałów używamy metod dla problemu początkowego, możemy sobie pozwolić na adaptację kroku itd. - w MRS raczej nie. A yi u y(x) B x b=xN a=x0
27
b) metoda różnic skończonych
zastępujemy pochodne ilorazami różnicowymi – problem różniczkowy sprowadzony do algebraicznego wykorzystujemy rozwinięcie Taylora: pamiętamy, że całą obciętą sumę można zastąpić wyrażeniem z k-tą pochodną policzoną gdzieś w przedziale (x,x+Dx) dwupunktowy przedni i wsteczny iloraz różnicowy pochodnej (widzimy, że będą dokładne dla wielomianów stopnia 1) odjąć stronami r.T. (iloraz centralny, trójpunktowy)
28
b) metoda różnic skończonych
iloraz centralny drugiej pochodnej: ilorazy, które poznaliśmy wystarczą aby rozwiązać problem modelowy: ... lecz pozostańmy jeszcze chwilę przy ilorazach
29
Wyższy iloraz różnicowy pierwszej pochodnej – wykorzystać więcej punktów
(1) (2) (1) minus (2) – zachowujemy wyrażenie z trzecią pochodną (3) (4) (5) (4) minus (5) (6)
30
wyższa dokładność – informacje z kolejnych sąsiadów u(x)
(3) (6) Wyrzucamy trzecią pochodną (6) minus 8 razy (3) wyższa dokładność – informacje z kolejnych sąsiadów u(x)
31
Analiza błędu ilorazu du/dx dla jednomianów u(x)=xk czyli co oznacza O(DxN) ?
wyprowadzone C=1/2 C=1/6 u(x) u’(x) (błąd na czerwono) x x x x+Dx x x x x x2+3xDx+Dx x2+Dx x2 x x3 4x3+6x2Dx+4xDx2+Dx x3+4xDx x3 x x x4+10x3Dx+10x2Dx2+5xDx3+Dx x4+10x2Dx2 +Dx x4 -4Dx4 domyślamy się, że C= -1/30 O(DxN) nie tylko podaje rząd zbieżności ilorazu do wartości dokładnej z Dx, lecz również oznacza, że iloraz jest dokładny dla różniczkowania wielomianów rzędu N. Metoda elementów skończonych = rozwiązanie lokalne dane przez wielomianowe funkcje kształtu. Liczenie analityczne pochodnych kłopotliwe, ale zbędne jeśli dobrać odpowiedni iloraz.
32
6 4 2 - 2 - 4 1 2 3 Przykład: u(x)=exp(-x2)sin(2px)
Pochodna dokładna i ilorazy dla dx=0.15 6 O ( d x ) 2 4 O ( d x ) 4 O ( d x ) d o k ł a d n a 2 - 2 - 4 1 2 3
33
8 4 x + c ) N e ( g 2 x + d o l - 4 4 x + b - 8 - 1 2 - 4 - 2 l o g (
Zbieżność wartości pochodnej wyliczonej z ilorazu różnicowego do wartości dokładnej z dx0. 8 4 O ( d x ) x + c 2 O ( d x ) ) 4 N O ( d x ) e ( d o k ł a d n a g 2 x + d o l - 4 4 x + b - 8 - 1 2 - 4 - 2 l o g ( D x )
34
mamy dokładny wzór na pochodną!
może wykorzystać wielopunktowy iloraz różnicowy do rozwiązania problemu Cauchy ? r(1)=0 r’(1)-s(1)=0 spójny zera : z4-8z3+8z-1 =0: z=+1 (główne), 0.12 (OK.), -1 (słabo stabilny) ,7.87 niestabilny
35
Ilorazy drugiej pochodnej
(1) (2) (1) plus (2) trójpunktowy iloraz drugiej pochodnej [pojawił się już wcześniej]
36
Iloraz drugiej pochodnej O(Dx4)
Rozpisujemy do Dx6 bo będziemy musieli wydzielić przez Dx2 Zadanie: zlikwidować piątą, czwartą i trzecią pochodną. Piątą i trzecią wyrzucimy dodając wzory parami Drugą sumę przemnożyć przez 16, odjąć od tego pierwszą, wyliczyć drugą pochodną, wynik:
37
Wyższe ilorazy drugiej pochodnej cd.
38
ilorazy na nierównomiernej siatce
Iloraz różnicowy pochodnej dla nierównej siatki: Tutaj dużo się dzieje (gęstsza siatka przydałaby się) a tu niewiele (rzadsza siatka wystarczy) Dl Dp O(Dl4) + każdy z tych wzorów wygeneruje nam iloraz pochodnej rzędu O(Dx) na siatce równomiernej potrafiliśmy wygenerować iloraz O(Dx2) korzystając z obydwu sąsiadów = wycinaliśmy wyrażenie z u’’(x) odejmując stronami teraz się nie uda! przydatne również: 2 i więcej D brzegi nieregularne
39
Iloraz różnicowy drugiej pochodnej dla nierównej siatki:
O(Dl4) dodać: Wzór trójpunktowy tracimy jeden rząd dokładności w porównaniu z siatką równomierną Metoda różnic skończonych działa najkorzystniej na równomiernej siatce. Zazwyczaj nie stać nas (i nie tylko nas) na równomierną siatkę w 3D. Często wyklucza to MRS w realnych zastosowaniach.
40
dla i=1,...,N-1 u0=A, uN=B wracamy do metody RS problem algebraiczny:
problem jest zbyt ogólny dla rozważań wstępnych, zawęźmy uwagę do problemu liniowego:
41
wersja zdyskretyzowana:
równanie różniczkowe jego przybliżenie algebraiczne błąd dyskretyzacji metody różnic skończonych w punkcie xi (przypomnienie definicji dla RRZ) błąd dyskretyzacji w przypadku równania liniowego:
42
+ szacujemy błąd dyskretyzacji wiedząc, że: użyliśmy ilorazów
dokładności Dx2 błąd dyskretyzacji tego samego rzędu +
43
Au=f problem algebraiczny:
dla i=1,...,N-1 [dla i=0,N nie stosujemy równania tylko wb. punkty na brzegu nie spełniają rr] równanie różniczkowe liniowe algebraiczny układ równań liniowych Au=f A B macierz trójprzekątniowa bo centralne ilorazy równań: N+1 – pierwsze i ostatnie wymuszają WB. można pozbyć się pierwszego i ostatniego równania
44
można pozbyć się pierwszego i ostatniego równania
i=N-1 najlepiej zamiast np. eliminacji Gaussa rozwiązać problem algorytmem trójprzekątniowym zmodyfikowane wg wzoru
45
dla n=N-1 Uu=z Lz=f dekompozycja A=LU LUu=f rozwiązać Au=f itd.. 5n mnożeń /dzieleń 3n dodawań / odejmowań podczas gdy eliminacja Gaussa n3/3 operacji
46
Błąd globalny dla dwupunktowego problemu brzegowego
definiowany (jak dla problemów początkowych) jako odchylenie od wartości dokładnej w problemie początkowym = widzieliśmy akumulację błędów lokalnych, w której wyniku rząd błędu globalnego był mniejszy o jeden niż błędu lokalnego lokalny:=O(dtn) (w jednym kroku) globalny w chwili t := zakumulowany w N krokach, gdzie N=t/dt O(dtn) t/dt daje błąd globalny rzędu O(dtn-1) jak jest w problemie brzegowym ? Czy następuje akumulacja błędu od brzegów?? problem początkowy kierunek generacji wyników wartości z wewnątrz obszaru całkowania wyliczane przy zafiksowanych wartościach na obydwu końcach przedziału warunki brzegowe przenoszone do wewnątrz obszaru całkowania. problem brzegowy: czy punkt ze środka jest policzony z gorszą (o jeden rząd dokładnością) niż punkt z brzegu ???
47
Problem akumulacji błędu.
Rząd błędu globalnego w zagadnieniu brzegowym [ten sam czy niższy niż błąd lokalny ?] – eksperyment numeryczny u’’(x)=u , u(0)=0, u(1) u(x)=sinh(x)/sinh(1), sinh(x)=(exp(x)-exp(-x))/2 rachunek na N=2j+1 punktach z Dx=1/N, j=1,9 stosujemy iloraz centralny z błędem lokalnym O(Dx2) widzimy, że błąd globalny jest również rzędu 2 odchylenie = tam gdzie błędy arytmetyki wniosek: dla problemu brzegowego (dla zmiennej przestrzennej) błąd globalny jest tego samego rzędu co błąd lokalny nie ma akumulacji błędu dla przestrzennych stopni swobody (błędy akumulują się tylko z t) ważne dla r.r. cząstkowych z (x oraz t): błędy w t się akumulują, w x nie: większa dokładność będzie wymagana dla t niż dla x
48
yi mieszany WB (Robina) dla równania liniowego
pochodna z w prawym brzegu: mamy dostępne tylko punkty na lewo od niego: możemy zastosować wsteczną pochodną, ale – wprowadzimy w ten sposób błąd O(Dx) do całego rachunku możemy zastosować wzór wsteczny z 3-ma punktami, ale – zakłócimy trójprzekątniową strukturę problemu wyjście – fikcyjny punkt uN+1 w b+Dx A yi u y(x) B x b=xN a=x0
49
fikcyjny WB: równanie na punkt ostatni z punktem fikcyjnym fikcyjny punkt eliminowany z WB do równania: 2 p. trójp.
50
p. trójp. uwaga: dla Dirichleta – modyfikujemy prawą stronę (tzw. naturalny wb) : dla Neumanna i Robina– modyfikujemy macierz A (tzw. istotny wb)
51
problem algebraiczny z dyskretyzacji równania nieliniowego
układ równań nieliniowych: metoda Newtona dla układu równań: funkcja i pochodne liczone w
52
w każdej iteracji Newtona
układ równań z macierzą trójprzekątniową do rozwiązania
53
Przykład: - problem pręta w imadle: zmieniamy oznaczenia s x, qu
u – na siatce od 0 do ½ wzory ogólne: 1 1
54
Przykład: - problem pręta w imadle
Wyniki druga iteracja trzecia iteracja u=q start x=s
55
Przykład: - problem pręta w imadle
Wyniki bardzo zły start druga iteracja u=q u=q trzecia iteracja czwarta = bez zmian druga iteracja x=s x=s trzecia iteracja
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.