01 Metoda Eulera

9
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żej 1miliona), przy różnorodnym zachowaniu materiałów. 2. Świadome wykorzystywanie oprogramowania (wymaganiem jest posiadanie podstawowej wiedzy na 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 w efektywny sposób. Cechą charakterystyczną metod numerycznych jest zastąpienie zwykle pracochłonnych obliczeń innymi metodami, wymagającymi zastosowania arytmetycznych działań. Przed rozwojem przemysłu komputerowego najwięcej czasu poświęcano na rozwiązywanie problemów (rozwiązywanie równań algebraicznych, różniczkowych), a znacznie mniej czasu poświęcano na samo formułowanie problemu i interpretację wyników. Było to efektem trudności w otrzymywaniu rozwią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ększa możliwość rozwiązywania złożonych problemów. W końcowym efekcie więcej czasu można poświęcić na formułowanie problemu i interpretację wyników. Równanie różniczkowe nazywamy zwyczajnym, gdy mamy do czynienia z pochodnymi tylko jednej zmiennej niezależnej. Będziemy rozważać równania różniczkowe pierwszego rzędu: dy dx = f x,y lub układ równań ) , ( ) , ( ) , ( 1 1 2 2 1 1 1 n n n n n y y x f dx dy y y x f dy dy y y x f dx dy (1.1) z warunkiem początkowym: n i y x y i i , 1 ) ( 0 , 0 (1.2) Metody Komputerowe - Dominika Mejbaum, Anna Snela, Marek Komosa

Transcript of 01 Metoda Eulera

Page 1: 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

Page 2: 01 Metoda Eulera

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

Page 3: 01 Metoda Eulera

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

Page 4: 01 Metoda Eulera

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

Page 5: 01 Metoda Eulera

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

Page 6: 01 Metoda Eulera

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

Page 7: 01 Metoda Eulera

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

Page 8: 01 Metoda Eulera

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

Page 9: 01 Metoda Eulera

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