01 Metoda Eulera
Transcript of 01 Metoda Eulera
1. WSTĘP. METODA EULERA 1
1. WSTĘP. METODA EULERA
Wprowadzenie
Motywacja poznawania metod numerycznych:
1. Rozwiązywanie bardzo dużych konstrukcji o złożonej geometrii, wielu stopniach swobody (powyżej1miliona), przy różnorodnym zachowaniu materiałów.
2. Świadome wykorzystywanie oprogramowania (wymaganiem jest posiadanie podstawowej wiedzyna temat metod numerycznych).
3. Metody numeryczne pozwalają na “naukę” matematyki wyższej.
Metody numeryczne pozwalają na formułowanie matematycznych problemów i rozwiązywanie ich wefektywny sposób. Cechą charakterystyczną metod numerycznych jest zastąpienie zwykle pracochłonnychobliczeń innymi metodami, wymagającymi zastosowania arytmetycznych działań.
Przed rozwojem przemysłu komputerowego najwięcej czasu poświęcano na rozwiązywanieproblemów (rozwiązywanie równań algebraicznych, różniczkowych), a znacznie mniej czasu poświęcano nasamo formułowanie problemu i interpretację wyników. Było to efektem trudności w otrzymywaniurozwiązań.
Obecnie komputery i metody numeryczne stanowią alternatywę dla metod tradycyjnych.Wykorzystując komputery nie jesteśmy zmuszeni do robienia wielu założeń upraszczających co zwiększamożliwość rozwiązywania złożonych problemów. W końcowym efekcie więcej czasu można poświęcić naformułowanie problemu i interpretację wyników.
Równanie różniczkowe nazywamy zwyczajnym, gdy mamy do czynienia z pochodnymi tylko jednejzmiennej niezależnej. Będziemy rozważać równania różniczkowe pierwszego rzędu:
dydx
= f x , y
lub układ równań
),(
),(
),(
1
122
111
nnn
n
n
yyxfdxdy
yyxfdydy
yyxfdxdy
(1.1)
z warunkiem początkowym:
niyxy ii ,1)( 0,0 (1.2)
Metody Komputerowe - Dominika Mejbaum, Anna Snela, Marek Komosa
1. WSTĘP. METODA EULERA 2
Zagadnienia powyższe możemy zapisać w postaci wektorowej:
0yy
fy
)(x
(x,y)dxd
0
(1.3)
ny
yy
2
1
y
nf
ff
2
1
f
0,
0,2
0,1
ny
yy
0y (1.4)
W przypadku gdy n=1 zagadnienie przyjmuje postać jednego równania skalarnego:
00 y)y(x
f(x,y)dxdy
(1.5)
W tym rozdziale będziemy rozważać metody całkowania równań różniczkowych z grupy metodRungego-Kutty, dla których wzór ogólny jest postaci:
hyy ii 1 (1.6)
ii xxh 1 (1.7)
gdzie h jest krokiem całkowania funkcji a φ „kierunkiem” poszukiwanego kolejnego punktu rozwiązania.Metody Rungego – Kutty charakteryzują się tym, że poszukiwane rozwiązanie otrzymujemy za
pomocą wcześniej obliczonych wartości.
Rys.1.1 Interpretacja graficzna metody stycznych
Metody Komputerowe - Dominika Mejbaum, Anna Snela, Marek Komosa
y i1=y if x i , y i h
x i x i1
wielkość kroku całkowania - h
x
yh=x i1−x i
φy i
y i1
hh
1. WSTĘP. METODA EULERA 3
Metoda Eulera
Jedną z najprostszych metod rozwiązywania zagadnienia (1.5) jest metoda Eulera, według której„kierunek” jest wyrażony przez pierwszą pochodną funkcji:
),( ii yxfdxdy
(1.8)
W takim razie mamy:
hyxfyy iiii ),(1 (1.9)
ii xxh 1 (1.10)
Tak więc pierwsza pochodna funkcji, to znaczy prawa strona równania różniczkowego, wyznaczakierunek położenia nowego punktu rozwiązania. Jest to tzw. predyktor.
Rys.1.2 Interpretacja graficzna metody Eulera
Odległość między predyktorem a rozwiązaniem dokładnym stanowi błąd metody. Ze względu naswoją prostotę metoda Eulera jest łatwa do zastosowania. Dobrze oddaje charakter rozwiązania ale możebyć obarczona dużym błędem.
Przykład 1.1:Rozpatrzmy równanie różniczkowe postaci:
5,820122 23 xxxdxdy
Znajdźmy rozwiązanie dla przedziału od x=0 do x=4 i warunku początkowego y(0)=1 i krokucałkowania h=0,5.
Metody Komputerowe - Dominika Mejbaum, Anna Snela, Marek Komosa
x i x i1 x
y
predyktor
punkt szukany
błąd kroku
punkt przybliżony
hj
y i
y i1
1. WSTĘP. METODA EULERA 4
Rozwiązanie dokładne:
dxxxxdy )5,820122( 23
Cxxxxy 5,810421 234
dla warunku początkowego:
11)0(
Cy
więc rozwiązanie dokładne ma postać:
15,810421 234 xxxxy
Rozwiązanie metodą Eulera dla x = 0,5
dnerozw.dokla21875,31)5,0(5,8)5,0(10)5,0(4)5,0(21)5,0(
numeryczne erozwiazani25,55,05,81)5,0(5,85,8)0(20)0(12)0(2)1;0(
(1.9)wzorupodst.na5,0)1;0()0()5,0(
234
23
y
yf
fyy
Błąd całkowity i procentowy w punkcie x = 0,5
%1,63
%100
03125,225,521875,3
k
dokladne
tk
t
numerycznedokladnet
Ey
EE
EyyE
Rozwiązanie metodą Eulera dla x = 1
roz.dokl.3115,8)1(10)1(4)1(21)1(
ycznerozw.numer875,55,025,125,5)1(25,15,8)5,0(20)5,0(12)5,0(2)25,5;5,0(
(1.9)wzorupodst.na5,0)25,5;5,0()5,0()1(
234
23
y
yf
fyy
Błąd całkowity i procentowy w punkcie x = 1
Metody Komputerowe - Dominika Mejbaum, Anna Snela, Marek Komosa
1. WSTĘP. METODA EULERA 5
%8,95875,2875,53
k
t
EE
Uzyskane rozwiązanie dla całego przedziału przedstawiono na (Rys 1.3) gdzie dla porównaniazamieszczono również rozwiązanie dokładne.
Rys.1.3 Rozwiązanie obliczone dla kroku h=0,5
Poprawienie dokładności można osiągnąć np. przez zmniejszenie kroku h. Na Rys1.4 przedstawionorozwiązania dla kroku całkowania h=0,1 i h=0,5. Widać wyraźnie poprawienie dokładności dla mniejszegokroku całkowania.
Metoda Eulera
0
1
2
3
4
5
6
7
0 0,5 1 1,5 2 2,5 3 3,5
Rozw. dokładne h=0,1 h=0,5
Rys.1.4 Rozwiązania dla różnych wielkości kroku
Metody Komputerowe - Dominika Mejbaum, Anna Snela, Marek Komosa
Metoda Eulera
0
1
2
3
4
5
6
7
0 0,5 1 1,5 2 2,5 3 3,5
Rozw. dokładne h=0,5
1. WSTĘP. METODA EULERA 6
1 0,1 0,01 0,0010,1
1
10
1005 50 500 5000
liczba kroków
wielkość kroku
Błąd
wzg
lędn
y [%
]
Rys.1.5 Zależność między wielkością kroku, ilością kroków a dokładnością rozwiązania.
Oszacowanie błędu w metodzie EuleraW analizie numerycznej wyróżniamy zasadniczo dwa typy błędów:
Błędy zaokragleń wynikające z wykonywania działań arytmetycznych Błąd metody (dyskretyzacji, obcięcia). Określimy ten błąd dla metody Eulera.
Dowolną funkcję można przedstawić za pomocą rozwinięcia w szereg Taylora. Gdy oznaczymyfunkcję przez y mamy:
nn
nii
iii Rhn
yhyhyyy !!2'''
)(2
1 (1.11)
gdzie:
)1()1(
)()!1(
nn
in h
nyR (1.12)
ii xxh 1
1 ii xx
Ponieważ nasze równanie różniczkowe ma postać ),( yxfdxdy
zatem możemy napisać:
Metody Komputerowe - Dominika Mejbaum, Anna Snela, Marek Komosa
1. WSTĘP. METODA EULERA 7
)(0!
),(
!2),('
),(
1)1(
2
1
nn
iin
iiiiii
hn
hyxf
hyxfhyxfyy
(1.13)
Widać z równania (1.13), że błąd metody Eulera wynosi:
)(0!2
),(' 12
niit h
hyxfE (1.14)
a błąd przybliżony ograniczamy do pierwszego wyrazu błędu obcięcia:
!2),(' 2hyxf
E iia
(1.15)
Jest to błąd lokalny na jednym kroku proporcjonalny do kwadratu kroku. Można wykazać, że błąd globalny(całkowity) jest proporcjonalny do pierwszej potęgi kroku.
Przykład 1.2:Wyznaczyć błąd metody Eulera dla wielomianu z poprzedniego zadania.
12),(2412),(''
20246),('
(1.14)wzoruze!4
),(!3
),(''!2
),('
)3(
2
4)3(32
yxfxyxf
xxyxf
hyxfhyxfhyxfE iiiiiit
Obliczamy poszczególne błędy metody dla 1,2 i 3 pochodnej w punkcie x= 0
03125,0)5,0(2412
5,0)5,0(6
24)0(12
5,2)5,0(2
20)0(24)0(6
44,
33,
22
2,
t
t
t
E
E
E
Całkowity błąd równy jest sumie błędów dla poszczególnych pochodnych:
03125,203125,05,05,2 tE
W ten sposób oszacowaliśmy całkowity błąd w punkcie x=0 nie znając dokładnego rozwiązania.Zwróćmy uwagę, że błąd ten jest równy dokładnie błędowi otrzymanemu podczas rozwiązywania zadania wprzykładzie wyżej.
Metody Komputerowe - Dominika Mejbaum, Anna Snela, Marek Komosa
1. WSTĘP. METODA EULERA 8
03125,2 numdokt yyE
Widać, że wraz ze wzrostem rzędu pochodnej (kolejne wyrazy szeregu Taylora) wartość błędu maleje,dlatego ograniczamy błąd do pochodnej drugiego rzędu. Dla metody Eulera błąd lokalny jest więcproporcjonalny do kwadratu kroku a błąd globalny o jeden rząd niżej (liniowy).
W celu zmniejszenia błędu w metodzie Eulera można uwzględnić wyrazy wyższego rzędu.Przypatrzmy się, jak to będzie w przypadku wyrazu II rzędu. I tak mamy:
2),('),(
2
1hyxfhyxfyy ii
(1.16)
!3),('' 3hyxfEa
(1.17)
Pierwszą pochodną musimy wyznaczyć jak dla funkcji uwikłanej. Jest ona następująca:
dxdy
yyxf
xyxfyxf
),(),(),(' (1.18)
Druga pochodna będzie miała postać:
2
2
2
222
2
2
),(''dx
ydyf
dxdy
dxdy
yf
xyf
dxdy
yxf
xfyxf
(1.19)
Widać, że obliczenie wyższych pochodnych wymaga dużego nakładu pracy i jest skomplikowane, dlategounika się takiego podejścia w praktyce. Zastąpmy jeszcze we wzorze (1.16) wyrażenie na dpochodną wyrażeniem różnicowym:
hyyf ii
1'
Otrzymamy wówczas:
)(2
),( 12
1 hyyhhyxfyy ii
iiii
i ostatecznie:
2),( 1
1ii
iiiiyyhhyxfyy
Powyższe równanie możemy zapisać również jako:
2),(),(),( 11
1iiii
iiiiyxfyxfhhyxfyy
Metody Komputerowe - Dominika Mejbaum, Anna Snela, Marek Komosa
1. WSTĘP. METODA EULERA 9
2),(),( 11
1
iiiiii
yxfyxfhyy
Zwróćmy uwagę, że powyższa formuła całkowania ma dokładność O(h3). Jest to tzw. zmodyfikowanametoda Eulera. Powrócimy do tej metody w kolejnym rozdziale.
Metody Komputerowe - Dominika Mejbaum, Anna Snela, Marek Komosa