• Nie Znaleziono Wyników

Metody numeryczne

N/A
N/A
Protected

Academic year: 2021

Share "Metody numeryczne"

Copied!
38
0
0

Pełen tekst

(1)

dr hab. Piotr Fronczak

Metody numeryczne

Wykład nr 2

(2)

Przybliżone rozwiązywanie równań nieliniowych

Jedno równanie z jedną niewiadomą

Szukamy pierwiastków rzeczywistych równania f(x) = 0.

f(x) zwykle jest funkcją nieliniową, zatem korzystamy z metod iteracyjnych (poprawianie kolejnych przybliżeń pierwiastków)

(3)

Wykładnik zbieżności

Określa szybkość zbieżności metod iteracyjnych

Metoda jest rzędu p, jeżeli istnieje stała c taka, że dla dwóch kolejnych przybliżeń xk i xk+1 zachodzi

gdzie k = xk+1 - xk.

p c

k k k

1

lim

liniowa z C = 10-1 liniowa z C = 10-2 superliniowa

kwadratowa Przypadki specjalne

p=1 (metoda liniowa),

p>1 & p<2 (metoda superliniowa) p=2 (metoda kwadratowa),

p=3 (metoda kubiczna)

(4)

Kroki podstawowe

1. Przeanalizuj problem pod kątem

 złożoności badanej funkcji

 dokładności rozwiązań

 szybkości obliczeń

3. Oceń problemy (np. rozbieżność funkcji) 4. Wybierz rozwiązanie początkowe

2. Jeśli to możliwe, narysuj funkcję

f(x) = cos(x) - x

(5)

Metoda bisekcji (połowienia)

Wybieramy przedział domknięty a, b, wewnątrz którego znajduje się

pierwiastek i na którego końcach wartości funkcji f(x) mają przeciwne znaki

0 )

( )

( a f bf

UWAGA!

(6)

1. Wybieramy przedział

a, b

, tak by

f(a) f(b)<0

Metoda bisekcji (połowienia)

0

2

a a b

x   

2. Dzielimy przedział na połowy:

3. Mamy trzy przypadki:

) , (

) ( )

(

) , (

) ( )

(

, 0 )

(

0 0

0 0

0

x a przedziale w

jest

k pierwiaste zatem

b f co znak sam

ten ma

x f

b x przedziale w

jest

k pierwiaste zatem

a f co znak sam

ten ma

x f

k pierwiaste znaleziono

x

f

4. Wybieramy przedział zawierający pierwiastek jako nowy przedział

a; b

i wracamy do kroku 2.

(7)

Metoda bisekcji: przykład

-10 -5 0 5 10

0 0.5 1 1.5 2 2.5 3 3.5 4

x

f(x)

(8)

Metoda bisekcji (połowienia): uwagi

• Metoda zawsze zbieżna, jeśli tylko dobrze wybrano przedział początkowy.

• Metoda zawiedzie, gdy

f(x)

styczne z osią

x

dla

f(x)=0

.

• Wolna zbieżność

p=1

(metoda liniowa)

• Po

k

iteracjach rozmiar przedziału zmalał do:

k

a b

2

0 0

0

 

• Zatem liczba iteracji konieczna do uzyskania tolerancji błędu 0:

 

 

  

0 0 0

log

2

a

k b

(9)

Metoda Regula Falsi

Opisana w hinduskim tekście Vaishali Ganit (III w. p.n.e.)

Dziewięć rozdziałów sztuki matematycznej (九章算術) (200 p.n.e. – 100 n.e.) wykorzystuje algorytm do rozwiązywania równań liniowych

regula – linia, falsus - fałszywy

(10)

1. Wybierz przedział

a, b 

, tak by

f(a) f(b)<0

2. Przybliżenie pierwiastka: punkt, w którym prosta łącząca punkty

a

i

b

przecina oś

x

.

3. Mamy trzy przypadki:

) ,

(

) ( )

(

) , (

) ( )

(

, 0 ) (

app app

app app

app

x a przedziale w

jest

k pierwiaste zatem

b f co znak sam

ten ma x

f

b x przedziale w

jest

k pierwiaste zatem

a f co znak sam

ten ma x

f

k pierwiaste znaleziono

x

f

4. Wybierz przedział zawierający pierwiastek jako nowy przedział a, b i wróć do kroku 2.

Metoda Regula Falsi

) ( )

) ( ( )

( x b f b

a b

a f b

y f  

  równanie prostej:

Stąd, gdy

y=0

, mamy:

) ( ) (

) ( )

(

a f b f

a bf b xapp af

(11)

-10 -5 0 5 10

0 0.5 1 1.5 2 2.5 3 3.5 4

x

f(x)

Metoda Regula Falsi: przykład

(12)

Metoda Regula Falsi: uwagi

• Metoda zawsze zbieżna, jeśli tylko dobrze wybrano przedział początkowy.

• Metoda zawiedzie, gdy

f(x)

styczne z osią

x

dla

f(x)=0

.

• Wolna zbieżność

p=1

(metoda liniowa)

prawidłowe rozwiązanie

x

1

x

2

a

1

a

2

a

3

x

f(x)

f(a )

1

f(a )

2

f(b )

1

b

1

(13)

Metoda Newtona

Wybierzmy pewien punkt początkowy

x

k i rozwińmy funkcję

f(x)

w szereg Taylora

Podstawmy i weźmy tylko dwa wyrazy rozwinięcia:

Niech . Wtedy

rozwiązanie

x1

x

y y=f(x)

f(x )3

x2 x3

x4

f(x )2

f(x )1 f’(x )1

f’(x )2 f’(x )3

(14)

styczna

-10 -5 0 5 10

0 0.5 1 1.5 2 2.5 3 3.5 4

x

f(x)

Metoda Newtona: przykład

(15)

Metoda Newtona: przykład c.d.

Szukamy pierwiastków

Liczymy pochodną

Równanie iteracyjne

(16)

Metoda Newtona: uwagi

• Szybka zbieżność

p=2

(metoda kwadratowa)

• Wymaga analitycznej znajomości

f’(x)

• Metoda zbieżna, gdy

f(x), f’(x), f’’(x)

ciągłe,

f’(x)<>0

w pobliżu rozwiązania, początkowa wartość

x

1 leży blisko rozwiązania

(17)
(18)

Fraktale

• mają nietrywialną strukturę w każdej skali,

• struktura ta nie daje się łatwo opisać w języku tradycyjnej geometrii euklidesowej,

• są samo-podobny,

• mają wymiar wymierny (fractional) a nie całkowity

obraz Lichtenberga:

wyładowanie elektryczne w dielektryku.

(19)

Brokuł romanesco

Drzewo

(20)

Liście

Linia brzegowa

(21)

Fraktale Netwona

Weźmy równanie

f(z) = 0, z C,

np.

z

3

– 1 = 0

Równanie zespolone stopnia

n

ma

n

pierwiastków.

W zależności od wyboru punktu warunku początkowego

(x + iy)

metoda Newtona doprowadzi nas do jednego z

n

pierwiastków.

Punkty te następnie oznacza się różnym kolorem w zależności od:

rozwiązania, do którego dąży dany punkt: prędkości znalezienia rozwiązania:

(22)

… lub oba warunki naraz:

(23)

Metoda siecznych

Do wyznaczenia

k+1

przybliżenia korzystamy z punktów

k-1

i

k

.

Korzystając z podobieństwa trójkątów:

3 2

2 2

1

2

1

) ( ) ( ) 0

(

x x

x f x

x

x f x

f

 

Stąd

) ( )

(

) )(

(

2 1

2 1

2 2

3

f x f x

x x

x x f

x

 

) ( )

(

) )(

(

1 1 1

k k

k k

k k

k

f x f x

x x

x x f

x

 

Ogólnie

(24)

Metoda siecznych: przykład

-10 -5 0 5 10

0 0.5 1 1.5 2 2.5 3 3.5 4

x

f(x)

(25)

Metoda między Regula falsi a Newtona

Zbieżność szybsza niż liniowa

1 . 618 2

5

1  

Metoda siecznych: uwagi

) ( )

(

) )(

(

1 1 1

k k

k k

k k

k

f x f x

x x

x x f

x

 

) (

) ( )

(

) (

1 1 1

k k

k k

k k

k

x x

x f x

f

x x f

x

 

Przybliżenie pochodnej

Newton Nie musimy znać analitycznej postaci f’(x) !

Ale te same problemy ze zbieżnością co w metodzie Newtona.

Najpierw wolna ale pewna bisekcja, potem szybka metoda siecznych.

(26)

Metoda szukania punktu stałego

Równanie

f(x) = 0

zastępujemy równaniem

x - g(x) = 0

, czyli

x = g(x)

Rozwiązania szukamy iteracyjnie:

x

k1

g ( x

k

)

(27)

Metoda szukania punktu stałego

(28)

Metoda szukania punktu stałego: przykład

0

3

2

/

1

 

x x

3 2

1

 ( )  (  2 )

k k

k

g x x

x

3 / 2

3 / 1 3

1

3

2 ) 6

(

k k k

k

x

x x g

x

 

2 )

(

1/3

1

1

  

k k

k

g x x

x

Trzy sposoby zapisu:

Czy jest jakaś różnica?

zbieżność rozbieżność szybka zbieżność

(29)

Metoda szukania punktu stałego: zbieżność

Twierdzenie:

Jeśli funkcja 𝑔 jest ciągła w pewnym przedziale wokół punktu x* takiego, że 𝑔 𝑥 =𝑥, to mówimy, że x* jest punktem stałym odwzorowania g.

Jeśli ponadto 𝑔′(𝑥) jest ciągła w tym przedziale i spełniona jest nierówność:

𝑔 𝑥 ≤ 𝑐 < 1, to ciąg iteracji 𝑥𝑛+1 = 𝑔(𝑥𝑛) jest zbieżny do punktu stałego.

Dla opornych: jeśli

g(x)

jest gładka i ograniczona i niezbyt stroma, to proces iteracyjny jest zbieżny.

(30)

Metoda szukania punktu stałego: zbieżność

(31)

Metoda szukania punktu stałego: przykład

0

3

2

/

1

 

x x

2 )

( 1/3

1

1

k k

k g x x

x

3 2

1  ( )  ( 2)

k k

k g x x

x

3 / 2

3 / 1 3

1 3

2 ) 6

(

 

k k k

k x

x x g x

Trzy sposoby zapisu:

Czy jest jakaś różnica?

zbieżność rozbieżność szybka zbieżność

3 / 2 '

1 3

) 1

(x x

g

2.5 3.0 3.5 4.0 0.16

0.18 0.20

2 '

2(x) 3(x2) g

2.5 3.0 3.5 4.0

2 4 6 8 10 12

2 3 / 2 3

/ 1

3 / 1 '

3 (1 3 )

) 2 (

) 2

( x x

x x x

g

 

2.5 3.0 3.5 4.0

0.14 0.12 0.10 0.08 0.06 0.04 0.02

(32)
(33)

Równania z wieloma pierwiastkami

krok = 1; //<--- szerokość przedziału

a = 0; //<--- lewa granica pierwszego przedziału b = a + krok; //<--- prawa granica pierwszego przedziału while(b < bmax)

{

if(f(a)*f(b) < 0) //<-- sprawdź, czy funkcja zmienia znak {

root[i] = FindRoots(f,a,b); //<-- np. bisekcja i = i + 1;

}

a = b; //<--- lewa granica nowego przedziału b = a + krok; //<---- prawa granica nowego przedziału };

(34)

Układy równań nieliniowych

Metoda Newtona

0 ) , (

0 )

, (

2 1

y x f

y x

Dla układu dwóch równań:

f

Wybieramy rozwiązania początkowe

x

1 i

y

1. Jeśli są one blisko rozwiązań prawdziwych

x

2 i

y

2, to rozwinięcie Taylora funkcji

f

1 i

f

2wokół

x

1 i

y

1:

...

) (

) (

) , ( )

, (

...

) (

) (

) , ( )

, (

1 1 1

1

1 1 1

1

, 2 1

2 ,

2 1

2 1

1 2 2

2 2

, 1 1 2

, 1 1

2 1

1 1 2

2 1

 

 

 

 

 

 

 

 

y y x

x

y y x

x

y y f

x y x f

x y

x f y

x f

y y f

x y x f

x y

x f y

x f

0

0

(35)

) , (

) , (

1 1 2 ,

2 ,

2

1 1 1 ,

1 ,

1

1 1 1

1

1 1 1

1

y x f y y

x f x

f

y x f y y

x f x

f

y y x

x

y y x

x



)) , ( ), , ( (

) , ( )

, (

)) , ( ), , ( (

) , ( )

, (

1 1 2 1 1 1

, 2 1 1 1 ,

1 1 1 2

1 1 2 1 1 1

, 1 1 1 2 ,

2 1 1 1

1 1 1

1

1 1 1

1

y x f y x f J

x y f x x f

y f x f y

y x f y x f J

y y f x y f

y f x f x

y x y

x

y x y

x

Czyli układ dwóch równań liniowych. Korzystając z reguły Cramera:

gdzie

J

– jakobian:

y f x

f

y f x

f f

f J

2 2

1 1

2

1, ) det

(

y y

y

x x

x

1 2

1

Zatem nowe przybliżenie rozwiązań: 2

(36)

Układy równań nieliniowych: przykład

-6 -4 -2 0 2 4 6

-4 -2 0 2 4 6

y

x

 



 

0 225 25

9 ) , (

0 )

, (

2 2

2

2 / 2

/ 2 1 1

y x

y x f

e e

y y

x

f

x x

  

e e

y x

y x

e e

y f x

f

y f x

f f

f

J x x

x x

18 50 50

18 det 1

det )

,

( 14 /2 /2

2 / 2

/ 4 1

2 2

1 1

2

1

(37)

F1(x,y) = function { y -0.5*(exp(x/2)+exp(-x/2)) } F2(x,y) = function { 9*x^2+25*y^2-225 }

F1x(x,y) = function { -(exp(x/2)+exp(-x/2))/4 } F1y(x,y) = function { 1 }

F2x(x,y) = function { 18*x } F2y(x,y) = function { 50*y }

Jacob(x,y) = function { -(exp(x/2) + exp(-x/2))/4*50*y-18*x } xi = 2.5; yi = 2; Err = 0.001;

while(1) {

Delx = (-F1(xi,yi)*F2y(xi,yi)+F2(xi,yi)*F1y(xi,yi)) / Jacob(xi,yi);

Dely = (-F2(xi,yi)*F1x(xi,yi)+F1(xi,yi)*F2x(xi,yi)) / Jacob(xi,yi);

xip1 = xi + Delx;

yip1 = yi + Dely;

Errx = abs((xip1 - xi)/xi);

Erry = abs((yip1 - yi)/yi);

if(Errx<Err && Erry<Err) break;

xi = xip1; yi = yip1;

};

Warunki początkowe i dopuszczalny błąd

x i y xk+1 i yk+1

Błąd względny rozwiązania

i x y Errx Erry

1 3.0731 2.4296 0.22926 0.21479 2 3.0345 2.3849 0.01258 0.01840 3 3.0314 2.3858 0.00102 0.00037 4 3.0312 2.3859 0.00007 0.00004

(38)

Układy równań nieliniowych: uwagi

 

 

 

 

 

 

 

 

 

 

 

 

n x n

f x

f x

f

x f x

f x

f

x f x

f x

f

f f f

x x x

n n n

n

n n

2 1 2

1

2 1

2 2

2 1

2

1 2

1 1

1

W ogólności:

1. Zbieżność nie jest gwarantowana.

2. Funkcje

f

1

, … , f

n i ich pochodne muszą być ciągłe i ograniczone w pobliżu rozwiązania

3. J(f

1

, … , f

n

) <> 0

w pobliżu rozwiązania

4. Warunki początkowe wystarczająco blisko prawdziwego rozwiązania

5. Dla układu

n>3

równań powyższe równanie trzeba rozwiązać numerycznie.

Cytaty

Powiązane dokumenty

National Center for Supercomputing Applications, University of Illinois at Urbana Evolution of distorted rotating black holesA. Odrzywołek

Ogólne Średnia Metoda preferowana, pozwala obliczać odwrotności macierzy Gauss-Seidel Może być. rozbieżna, jeśli macierz

Jeżeli macierz n x n jest macierzą pierwotną, to jedna z jej wartości własnych jest dodatnia i większa co do modułu od pozostałych wartości własnych. Macierz A jest

Zaprogramować metodę iterowanego dzielenia do poszukiwania zer wielomianu z wykorzystaniem napisanej

Słowa kluczowe: Warunek najmniejszych kwadratów, równania warunkowe, równania normalne, technika bezpo´srednia, technika po´srednia... 2.1

Gdy linia styczna jest poniżej (powyżej) krzywej, wtedy przybliżenie liniowe niedoszacowuje (przeszacowuje) prawdziwą wartość funkcji..

W sprawozdaniu nale»y umie±ci¢ wyniki oblicze«, które ilustruj¡ brak uniwer- salno±ci metody Newtona oraz uniwersalno±¢ metody McMullena?. Ponadto w sprawozdaniu nale»y

Część I. Rejestracja widma kryształu LiF przy wykorzystaniu metody Lauego. 1.2 Uchwyt na błonę fotograficzną ustawić w odległości 1,5 cm od kryształu. 1.3 W celu