• Nie Znaleziono Wyników

Wykład 4.

N/A
N/A
Protected

Academic year: 2021

Share "Wykład 4."

Copied!
65
0
0

Pełen tekst

(1)

METODY NUMERYCZNE

dr hab.inż. Katarzyna Zakrzewska, prof.AGH

Wykład 4.

Numeryczne rozwiązywanie

równań nieliniowych z jedną niewiadomą

(2)

0 )

( x =

Należy znaleźć pierwiastek równania

f

nieliniowego czyli rozwiązać równanie Twierdzenie:

Jeżeli funkcja f(x) jest określona i ciągła w danym przedziale

<a,b> i funkcja zmienia znak na końcach przedziału

0 )

( )

( a f bf

Rozwiązywanie równań

nieliniowych z jedną niewiadomą

to w przedziale <a,b> znajduje się przynajmniej jeden pojedynczy

pierwiastek.

a

b

Przedział <a,b>, w którym znajduje się pojedynczy pierwiastek równania

(3)

0 )

( x = f

Jeżeli funkcja zmienia znak na granicach przedziału, to w tym przedziale może istnieć więcej pierwiastków

0 )

( )

( a f bf

a

b

Rozwiązywanie równań

nieliniowych z jedną niewiadomą

(4)

Jeżeli funkcja nie zmienia znaku na granicach przedziału, to w tym przedziale może istnieć pierwiastek lub nie

b b

a a

Rozwiązywanie równań

nieliniowych z jedną niewiadomą

0 )

( )

( a f b

f

(5)

Metody:

•połowienia (równego podziału lub bisekcji)

•stycznych (Newtona)

•regula-falsi (fałszywej liniowości)

•metoda siecznych

Metody numerycznego rozwiązywania równań

nieliniowych z jedną niewiadomą

(6)

1

2

b x = a + Metoda bisekcji

f(a) · f(x ) < 0 lub f(x ) · f(b) < 0

a

x1 b

Przedział <a,b> dzielimy na połowy punktem:

Jeżeli f(x1)=0, to x1 jest szukanym pierwiastkiem równania.

Jeżeli f(x1)≠0 to z dwóch przedziałów <a,x1> i <x1,b>

wybieramy ten, na końcach którego funkcja f(x) ma różne znaki, tzn. spełniony jest jeden z warunków:

(7)

2

2 1

x x = a + Metoda bisekcji

a

x1 b

Uzyskany przedział <a,x1> lub <x1,b>

ponownie dzielimy na połowy punktem:

Jeżeli f(x2)=0, to x2 jest szukanym pierwiastkiem równania.

Jeżeli f(x2)≠0 to wybieramy nowy przedział i sprawdzamy znaki funkcji na jego końcach. Proces ten powtarzamy tak długo, aż otrzymamy rozwiązanie dokładne lub zostanie osiągnięta wymagana dokładność rozwiązania.

2

2 1

x x = b +

lub

x2

(8)

0 )

( )

( x

i

f x

i+1

<

f

Metoda bisekcji

W wyniku takiego postępowania po pewnej liczbie kroków albo otrzymamy pierwiastek dokładny f(xn)=0, albo ciąg przedziałów takich, że:

Ponieważ lewe końce ciągu przedziałów tworzą ciąg niemalejący i ograniczony z góry, a prawe końce ciąg nierosnący i ograniczony z dołu więc istnieje ich wspólna granica.

i i i

a x b

x

1

2

= −

+

gdzie xi oraz xi+1 są odpowiednio początkiem i końcem i-tego przedziału, a jego długość:

(9)

100

1

− ×

=

i m

i m i

m

a

x

x x

1 i

x

m

W każdym kroku obliczamy względny błąd przybliżenia

gdzie:

Algorytm dla metody bisekcji

i

x

m

jest pierwiastkiem znalezionym w poprzednim kroku

jest pierwiastkiem znalezionym w danym kroku

(10)

Czy ?

Tak

Nie

nowy podział

stop

Porównanie błędu aproksymacji z definiowaną wcześniej tolerancją

a

s

s a >∈

Powinno się sprawdzić czy liczba iteracji nie przekracza zadanej wcześniej maksymalnej liczby iteracji. Jeśli

Algorytm dla metody bisekcji

(11)

Pływająca kula

Przykład metody bisekcji

( )

11 . 0 0

055 .

0 2 0

2 0

x x

R x

0 10

993 .

3 165

.

0

2 4

3

x + ×

=

x

Z praw fizyki wynika, że kula będzie zanurzona do głębokości x takiej, że

(12)

0 10

993 .

3 165

.

0

2 4

3

x + ×

=

x

Przykład metody bisekcji

Zadanie:

a) Zastosować metodę bisekcji (połowienia) aby znaleźć głębokość x, do której kula jest zanurzona w wodzie.

Przeprowadzić 3 iteracje aby oszacować pierwiastek równania

b) Znaleźć względny błąd przybliżenia po zakończeniu każdej iteracji i liczbę cyfr znaczących poprawnych w odpowiedzi

(13)

Aby zrozumieć problem

funkcja f(x) jest pokazana na rysunku

Nie można obecnie wyświetlić tego obrazu.

( ) x x

3

0 . 165 x

2

3 . 993 10

-4

f = − + ×

Rozwiązanie

Przykład metody bisekcji

(14)

Zakładamy

11 . 0

00 . 0

=

= x

u

x

l

Sprawdzamy znak funkcji w xl i xu

( ) ( ) ( ) ( )

( ) ( ) ( )

3

( )

2 4 4

4 2 4

3

10 662

. 2 10

993 . 3 11

. 0 165 . 0 11

. 0 11

. 0

10 993

. 3 10

993 . 3 0

165 . 0 0

0

×

=

× +

=

=

×

=

× +

=

= f x

f

f x

f

u l

stąd f

( ) ( )

xl f xu = f

( ) (

0 f 0.11

)

=

(

3.993×104

)(

2.662×104

)

< 0

Istnieje przynajmniej jeden pierwiastek równania pomiędzy xl i xu, tj.

pomiędzy 0 i 0.11

Przykład metody bisekcji

(15)

Przykład metody bisekcji

(16)

055 .

2 0 11 . 0 0

2 + =

+ =

=

u

m

x x x

l

( ) ( ) ( ) ( )

( ) ( ) 0 . 055 ( ) ( 0 0 0 . . 055 055 ) ( 0 3 . . 165 993 0 10 . 055

4

)( 6 . 655 3 . 993 10 10

5

) 0 6 . 655 10

5 2 4

3

>

×

×

=

=

×

=

× +

=

=

f f

x f x f

f x

f

m l

m

Iteracja 1

Stąd pierwiastek leży pomiędzy xm i xu, czyli pomiędzy 0.055 i 0.11. Dlatego nowe granice przedziału są:

W tym momencie, względny błąd przybliżenia nie może być obliczony, bo jest to pierwszy krok

11 . 0

, 055 .

0 =

=

u

l

x

x

a

Przykład metody bisekcji

Nowy pierwiastek

(17)

Przykład metody bisekcji

Po pierwszej iteracji

(18)

0825 .

2 0

11 . 0 055 .

0

2 + =

+ =

=

u

m

x x x

l

( ) ( ) ( ) ( )

( ) ( ) 0 . 0825 ( 0 . 055 0 ) ( . 0825 0 . 0825 ) 0 . 165 ( 6 . 655 0 . 0825 10

5

)( 3 1 . 993 . 622 10 10

4

) 1 0 . 622 10

4 2 4

3

<

×

×

=

=

×

=

× +

=

=

f f

x f x f

f x

f

m l

m

Stąd nowy pierwiastek leży pomiędzy xl i xm, tj. pomiędzy 0.055 i 0.0825.

Górna i dolna granica pierwiastka:

0825 .

0

, 055 .

0 =

=

u

l

x

x

Przykład metody bisekcji

Iteracja 2

Nowy pierwiastek

(19)

Przykład metody bisekcji

Po drugiej iteracji

(20)

Błąd względny przybliżenia po drugiej iteracji wynosi

% 333 .

33

0825 100 .

0

055 . 0 0825 .

0

100

1

=

− ×

=

− ×

=

i

m i m i

m

a

x

x x

Żadna z cyfr znaczących nie jest poprawna w wyniku xm = 0.0825 gdyż błąd względny jest większy od 5%.

Przykład metody bisekcji

m

×

≤ 0 . 5 10

2

| ε

|

(21)

06875 .

2 0

0825 .

0 055 . 0

2 + =

+ =

=

u

m

x x x

l

( ) ( ) ( ) ( )

( ) ( )

0.06875

(

0.055

) (

0.068750.06875

)

0.

(

1656.6550.0687510 5

)(

5.3563.99310105

)

0 5.563 10

5 2 4

3

<

×

×

=

=

×

=

× +

=

=

f f

x f x f

f x

f

m l

m

Stąd pierwiastek leży pomiędzy xl i xm, tj. pomiędzy 0.055 i 0.06875. Stąd granice wynoszą:

06875 .

0

, 055 .

0 =

=

u

l

x

x

Przykład metody bisekcji

Iteracja 3

Nowy pierwiastek

(22)

Przykład metody bisekcji

(23)

% 20

06875 100 .

0

0825 .

0 06875 .

0

100

1

=

− ×

=

− ×

=

i

m i m i

m

a

x

x x

Przykład metody bisekcji

Błąd względny przybliżenia po trzeciej iteracji wynosi

Żadna z cyfr znaczących nie jest poprawna w wyniku xm = 0.06875 gdyż błąd względny jest większy od 5%.

(24)

Analiza błędu i cyfr znaczących

Iteracja xl xu xm a % f(xm)

1 2 3 4 5 6 7 8 9

0.00000 0.055 0.055 0.055 0.06188 0.06188 0.06188 0.06188 0.0623

0.11 0.11 0.0825 0.06875 0.06875 0.06531 0.06359 0.06273 0.06273

0.055 0.0825 0.06875 0.06188 0.06531 0.06359 0.06273 0.0623 0.06252

--- 33.33 20.00 11.11 5.263 2.702 1.370 0.6897 0.3436

6.655×10−5

−1.622×10−4

−5.563×10−5 4.484×10−6

−2.593×10−5

−1.0804×10−5

−3.176×10−6 6.497×10−7

−1.265×10−6

Przykład metody bisekcji

(25)

Liczba poprawnych cyfr znaczących m w wyniku wynosi:

( )

(

0.3442

)

2.463

log 2

2 3442

. 0 log

10 3442

. 0

10 5

. 0 1721 .

0

10 5

. 0

2

2 2

=

×

×

m

m

m

m m a

= 2

tak więc m

Liczba poprawnych cyfr znaczących w wyniku 0.06241 po 10-tej iteracji wynosi 2.

Przykład metody bisekcji

(26)

Zalety bisekcji

• metoda jest zawsze zbieżna

• przedział, w którym znajduje się pierwiastek jest zawsze połowiony

Wady bisekcji

• metoda jest wolnozbieżna

• jeżeli pierwiastek odgadnięty jest bliski

rzeczywistemu to szybkość maleje

(27)

• Jeżeli funkcja f(x) jest taka, że dotyka osi OX to nie można znaleźć pierwiastka metodą bisekcji

( ) x x 2

f =

Wady metody bisekcji

(28)

Funkcja zmienia znak ale nie ma pierwiastka

( ) x x

f 1

=

Wady metody bisekcji

(29)

Metoda regula-falsi

regula – linia; falsus- fałszywy

Metoda zwana jest metodą fałszywego założenia liniowości funkcji

Założenia:

•w przedziale <a,b> równanie f(x)=0 ma dokładnie jeden pierwiastek

•jest to pierwiastek pojedynczy

•f(a)f(b)<0

•f(x) jest na przedziale <a,b> funkcją klasy C2

•df/dx i d2f/dx2 mają stały znak w tym przedziale

(30)

Metoda regula-falsi

Przy takich założeniach możliwe są jedynie następujące przypadki:

Metoda ta ma punkt stały, jest nim punkt, w którym

spełniony jest warunek:

>

(31)

Metoda regula-falsi

Rozważmy przypadek:

Przez punkty A(a, f(a)) i B(b, f(b)) prowadzimy cięciwę (sieczną) o równaniu:

) ) (

( )

) (

( x a

a b

a f b

a f f

y

= −

Punkt x1, w którym cięciwa przecina oś OX jest pierwszym przybliżeniem szukanego pierwiastka.

) ) (

( )

(

) (

1

f a b a

a

x

− −

=

(32)

Jeżeli f(x1)=0, to x1 jest szukanym pierwiastkiem.

Metoda regula-falsi

Jeżeli otrzymane w ten sposób przybliżenie jest za mało dokładne, to przez punkty C = (x1, f(x1)) oraz przez ten z punktów A i B, którego rzędna ma znak przeciwny niż f(x1) prowadzimy następną cięciwę. Punkt x2, w którym cięciwa przetnie oś OX jest kolejnym przybliżeniem. Proces iteracyjny kończymy, gdy uzyskamy rozwiązanie z zadaną dokładnością. Tworzymy ciąg:

x1,x2,…xn

n k

x x b

x f x

x (

k

) ( ) 1 , 2 ,...,

0 = − − =

=

(33)

Metoda regula-falsi

Można wykazać, że przy przyjętych założeniach ciąg x1, x2,

…xn jest rosnący i ograniczony a więc zbieżny. Jego granicą jest szukany pierwiastek α czyli f(α)=0

Błąd n-tego przybliżenia można ocenić na podstawie:

) (

) ( ' )

( )

( x

n

f α = f c x

n

− α

f

gdzie c jest zawarte w przedziale od xn do α

m x x

n

f (

n

)

− α

)

(

'

inf f x

m =

∈< >

(34)

Metoda regula-falsi

Przykład: Znaleźć dodatni pierwiastek równania:

w przedziale (1,2) i ocenić błąd przybliżenia.

3 3

)

( x = x

3

+ x

2

xf

Sprawdzamy założenia:

1 0

) ( '' 0

) (

' x > i f x > dla x >

f

3 )

2 ( 4

) 1

( = − f =

f 3 2

3 )

(

' x = x

2

+ x

f f '' ( x ) = x 6 + 2

(35)

Metoda regula-falsi

Równanie cięciwy przechodzącej przez punkty A(1,-4) i B(2,3)

Aby y=0, x1=1,57142

) 1 1 (

2 4

4 3 −

= +

+ x

y

Znajdujemy f(x1)=-1.36449. Ponieważ f(x1)<0, to cięciwę prowadzimy przez punkty B(2,3) i C(1,57142,-1,36449)

) ( ' inf

,

f x m =

x∈<a b>

W drugim przybliżeniu x2=1,70540

Ocena błędu przybliżenia w przykładzie:

(36)

Metoda regula-falsi

f(x2)=-0,24784

Ponieważ ciąg przybliżeń jest rosnący, więc

) ( ' inf

,

f x m =

x∈<a b>

Ocena błędu przybliżenia w przykładzie:

2 3

2 3

inf

2

2 ,

1

+ − =

=

∈< >

x x

m

x

124 ,

2 0 24784 ,

0 <

<

− α

x

n

8294 ,

1 70540

,

1 < α <

(37)

Metoda regula-falsi a metoda siecznych

Wadą metody jest jej stosunkowo powolna zbieżność.

Metodę regula-falsi można znacznie ulepszyć tzn. poprawić jej zbieżność, jeżeli zrezygnujemy z żądania, aby funkcja f(x) miała w punktach wytyczających następną cięciwę różne znaki (z wyjątkiem pierwszej iteracji).

Jest to metoda siecznych

(38)

W celu obliczenia przybliżenia xi+1 korzystamy z dwóch wcześniej wyznaczonych punktów: xi i xi-1 . Wzór określający ciąg przybliżeń jest następujący:

Metoda siecznych

Wadą metody siecznych jest to, że może nie być zbieżna do pierwiastka (np. gdy początkowe przybliżenia nie leżą dość blisko pierwiastka). Dodatkowo ciąg przybliżeń powinien być malejący (jeżeli odległość pomiędzy kolejnymi przybliżeniami jest tego samego rzędu co oszacowanie błędu, jakim jest obarczona, to następne przybliżenie może być całkowicie

) (

) (

) )(

(

1 1 1

+

− −

=

i i

i i

i i

i

f x f x

x x

x x f

x

(39)

Metoda stycznych – metoda Newtona-Raphsona

Jako pierwsze przybliżenie pierwiastka przyjmujemy ten koniec przedziału,

w którym funkcja f i jej druga pochodna mają ten sam znak, tzn.

gdy f(x0 ) · f ”(x0 ) ≥ 0, Zakładamy, że f(x) ma

różne znaki na końcach przedziału <a,b> oraz f’(x) i f”(x) mają stały znak.

(40)

Metoda stycznych – metoda Newtona-Raphsona

Z wybranego końca prowadzimy styczną do wykresu funkcji

y = f(x). Punkt x1, będący punktem przecięcia stycznej z osią OX jest kolejnym przybliżeniem pierwiastka.

Jeżeli otrzymane w ten sposób

przybliżenie jest za mało dokładne, to z punktu o współrzędnych (x1,

f(x1)) prowadzimy następną styczną.

Punkt x2, w którym styczna przecina się z osią OX jest kolejnym

przybliżeniem. Proces iteracyjny kończymy, gdy uzyskamy

rozwiązanie z zadaną dokładnością.

( ) ( ) b

b f x = −

) )(

( ' )

( b f b x b

f

y − = −

(41)

Wzór określający kolejne przybliżenia szukanego rozwiązania:

( ) ( )

ii

i

i

f x

x x f

x

+1

= − ′

Metoda stycznych – metoda Newtona-Raphsona

Błąd n-tego przybliżenia można ocenić podobnie jak w metodzie regula-falsi:

Jest to zbieżny ciąg przybliżeń malejący (xn+1 < xn) lub

rosnący (xn+1> xn)

i ograniczony z dołu lub z góry.

) (

1

f x

n

x

+

− α ≈

(42)

Metoda stycznych – metoda Newtona-Raphsona

Znanym przykładem zastosowania metody stycznych jest algorytm obliczania pierwiastka kwadratowego.

Pierwiastek kwadratowy z liczby dodatniej c jest dodatnim pierwiastkiem równania:

2

− c = 0 x

Obliczenia:

c x

x

f ( ) =

2

f ' ( x ) = 2 x

( ) ( )

nn n n n

n

n

x

c x x

x f

x x f

x 2

2 1

− −

′ =

+

=

Stosując metodę stycznych:

Otrzymujemy:

⎟⎟ ⎞

⎜⎜ ⎛

+

= c

x

x 1

(43)

Metoda kolejnych przybliżeń (iteracji)

Dane jest równanie f(x)=0 gdzie f(x) jest funkcją ciągłą.

Należy wyznaczyć pierwiastki rzeczywiste tego równania.

Równanie to sprowadzamy do równania równoważnego:

Metoda iteracji jest zbieżna gdy

Graficzna interpretacja oparta jest na wykresach funkcji:

) (x x = ϕ

x

y = y = ϕ (x )

1 )

(

' x <

ϕ

(44)

Metoda kolejnych przybliżeń (iteracji)

Przypadki gdy metoda jest zbieżna:

(45)

Metoda kolejnych przybliżeń (iteracji)

Przypadki gdy metoda jest rozbieżna:

(46)

Metoda kolejnych przybliżeń (iteracji)

Zadanie domowe:

Znaleźć pierwiastek równania:

x

3

− x − 4 . 5 = 0

w przedziale [1,2] metodą iteracji

Równanie f(x)=0 można sprowadzić do równania równoważnego x=φ(x) w różny sposób:

5 . 4 ) x = x

3

a

1 5 .

) 4

2

= + x x b

2

5 . ) 4

x x x

c = +

x x x

d 4 . 5

) = +

3

4 . 5

) x = x +

e

(47)

Metoda kolejnych przybliżeń (iteracji)

Zadanie domowe:

Znaleźć pierwiastek równania:

x

3

− x − 4 . 5 = 0

w przedziale [1,2] metodą iteracji

Równanie f(x)=0 można sprowadzić do równania równoważnego x=φ(x) w różny sposób:

5 . 4 ) x = x

3

a

1 5 .

) 4

2

= + x x b

2

5 . ) 4

x x x

c = +

x x x

d 4 . 5

) = +

3

4 . 5

) x = x + e

Sprawdzić, który sposób zapewnia zbieżność metody

(48)

Poszukiwanie minimów funkcji jednej zmiennej

Zadanie znajdowania minimum funkcji f(x) można sprowadzić do rozwiązania równania f’(x)=0

Jeżeli własności funkcji nie są znane to bezpieczniejsze są metody podziału.

Wyznaczenie pochodnej funkcji może być zbyt trudne lub funkcja może nie być różniczkowalna.

Jeżeli funkcja f jest dostatecznie regularna i można ją lokalnie przybliżyć wielomianami niskiego rzędu to można zastosować metody aproksymacyjne.

(49)

Metody podziału

Założenia: f(x) ma minimum w punkcie α należącym do przedziału [a,b], f(x) jest malejąca w przedziale [a, α] i rosnąca w [α,b] czyli jest unimodalna.

a<t1<t2<b

Lemat: Aby zlokalizować punkt α w przedziale [a’,b’] o mniejszej długości niż przedział [a,b], wystarczy obliczyć wartość funkcji w dwu punktach wewnątrz przedziału [a,b].

Jeżeli f(t1)≤f(t2), to

Jeżeli f(t )>f(t ), to

[ ] a ,t

2

α ∈

[ ] t , b

α ∈ α

(50)

Metody podziału

Metoda podziału na 3 równe części

Po I iteracjach uzyskujemy przedział o długości:

Przyjmujemy punkty podziału przedziału [a,b]:

W każdej iteracji następuje zmniejszenie przedziału 3/2 razy

b a

t

i

3 1 3

2

1

= + t

i

a b

3 2 3

1

2

= +

(

(0) (0)

)

3

2 b a

a b

I

⎟ −

⎜ ⎞

= ⎛

(51)

Metody podziału

Metoda połowienia

Po I iteracjach uzyskujemy przedział o długości:

Przyjmujemy punkty podziału na cztery części przedziału [a,b]:

W każdej iteracji następuje zmniejszenie przedziału 2 razy

b a

t

i

4 1 4

3

1

= + t

i

a b

2 1 2

1

2

= +

(

(0) (0)

)

2

1 b a

a b

I

⎟ −

⎜ ⎞

= ⎛

Wartość funkcji obliczono 2I+1 razy

b a

t

i

4 3 4

1

3

= +

(52)

Metoda optymalnych podziałów

Metoda Johnsona

Najmniejszej liczby obliczeń funkcji wymaga metoda korzystająca z ciągu liczb Fibonacciego.

1

1

0

= F =

F

2

1

+

=

i i

i

F F

F

Opis algorytmu:

F0 1

F1 1

F2 2

F3 3

F4 5

F5 8

F6 13 F7 21

Definiujemy pożądaną dokładność ρ wyznaczenia położenia minimum α., tzn.

chcemy uzyskać taki punkt t, aby

] ,

[ ρ ρ

α ∈ tt +

(53)

Metoda optymalnych podziałów

2. Znajdujemy takie N, aby 1.Niech:

ρ

) 0 ( )

0

(

a

c b

=

N

N

c F

F

−1

< ≤

i=1,2,..., N-2

a a

F b t F

i N

i

i

=

N

− +

+

( )

1 1 1

Opis algorytmu w metodzie Johnsona:

3. Określamy:

a a

F b t F

i N

i

i

=

N

− +

+

( )

1 2

(54)

Metoda optymalnych podziałów

Jeżeli: f(t1i)≤f(t2i), to a pozostaje bez zmian, b=t2(i)

4. W każdej iteracji obliczamy nowe punkty a,b w następujący sposób:

Opis algorytmu w metodzie Johnsona:

Po i-tej iteracji długość przedziału [a,b] zostaje zmniejszona

F razy F

i N

N 1 1 +

Jeżeli: f(t1i)>f(t2i), to b pozostaje bez zmian, a=t1(i)

(55)

Metoda optymalnych podziałów

Po (N-2) iteracjach długość przedziału zostaje zmniejszona do wartości

Opis algorytmu w metodzie Johnsona:

ρ

2 2

) (

...

) (

) 0 ( )

0 ( )

0 ( )

0 ( 3

2 1

2

1

⋅ − = ⋅ − ≤

=

N N

N N

N

F a a b

F b F F

F F

a F b

Wykonano łącznie N-1 obliczeń wartości funkcji

(56)

Metoda optymalnych podziałów

Znaleźć minimum funkcji f(x)=|x| zlokalizowane na przedziale [-4,4]. Pożądana dokładność ρ=1.

Przykład:

(a) Metoda połowienia

Sprawdzamy: f(-2)>f(0) i f(2)>f(0); możemy zawęzić przedział do: [-2,2]

2 4 4

) 1 4 4 (

1

3

1

= − + = −

t

0 2 4

) 1 4 2 (

1

1

2

= − + =

t

2 4 4

) 3 4 4 (

1

1

3

= − + =

t

(57)

Metoda optymalnych podziałów

Dokonujemy nowego podziału na 4 równe części Przykład:

Sprawdzamy: f(-1)>f(0) i f(1)>f(0); możemy zawęzić przedział do: [-1,1] ale wtedy t=0; f(t)=0

1 4 2

) 1 2 4 (

)

3

2 (

1

= − + = −

t

0 2 2

) 1 2 2 (

)

1

2 (

2

= − + =

t

1 4 2

) 3 2 4 (

)

1

2 (

3

= − + =

t

Wykonano łącznie 5 obliczeń wartości funkcji

(58)

Metoda optymalnych podziałów

Znaleźć minimum funkcji f(x)=|x| zlokalizowane na przedziale [-4,4]. Pożądana dokładność ρ=1.

Przykład:

(b) Metoda Johnsona

zatem N=5

1 8 ) 4 (

)

4

0 ( )

0

(

− − =

− =

= ρ

a c b

8 8

5

5

4

1

< ≤ ⇒ = < = ≤ =

c F F c F

F

N N

1 4

8 8 ) 3

4 ( )) 4 ( 4 ( )

(

1 1 5

1 1 5 1

) 1 1 (

1

= − + = − − + − = − = −

+

+

F a F

a F b

t F

i N

i N

1 4

5 8 )

4 ( )) 4 ( 4 ( )

(

5 1

) 1

(

=

− + = F

− − + − = − =

a a

F b

t

N i

(59)

Metoda optymalnych podziałów

Jeżeli: f(t1i)≤f(t2i), to a pozostaje bez zmian, b=t2(i) Szukamy nowych granic przedziału a,b

Obliczamy nowe punkty podziału:

1

; 1

2(1)

) 1 (

1

= − t =

t

ale f(-1)=f(1), czyli a=-4 b=1

2 4

5 5 ) 2

4 ( )) 4 ( 1 ( )

(

1 2 5

1 2 5 1

) 1 2 (

1

= − + = − − + − = − = −

+

+

F a F

a F b

t F

i N

i N

1 4

5 5 ) 3

4 ( )) 4 ( 1 ( )

(

5 2

) 2 (

2

=

− + =

− − + − = − = −

F a F

a F b

t F

N i

(60)

Metoda optymalnych podziałów

Szukamy nowych granic przedziału a,b

Obliczamy nowe punkty podziału:

1

;

2

2(2)

) 2 (

1

= − t = −

t

ale f(-2)>f(-1), czyli a=-2 b=1

1 2

3 3 ) 1

2 ( )) 2 ( 1 ( )

(

1 3 5

1 3 5 1

) 1 3 (

1

= − + = − − + − = − = −

+

+

F a F

a F b

t F

i N

i N

0 2

2 3 )

2 ( )) 2 ( 1 ( )

(

5 3

) 3

(

=

− + = F

− − + − = − =

a a

F b

t

N i

Jeżeli: f(t1i)>f(t2i), to b pozostaje bez zmian, a=t1(i)

(61)

Metoda optymalnych podziałów

Szukamy nowych granic przedziału a,b

Wykonano łącznie 4 obliczenia wartości funkcji

0

;

1

2(3)

) 3 (

1

= − t =

t

ale f(-1)>f(0), czyli a=-1 b=1

Jeżeli: f(t1i)>f(t2i), to b pozostaje bez zmian, a=t1(i)

0 ]

1 , 1 [ ]

,

[ a b = − ⇒ t = 0 )

( t =

f

(62)

Metoda optymalnych podziałów

Metoda złotego podziału

Polega na takim wyborze punktów podziału t1(i) i t2(i), aby

• przedział [a,b] zmniejszał swą długość po każdej iteracji tyle samo razy

•po wyznaczeniu punktów nowego podziału, tzn. t1(i+1) i t2(i+1), jeden z tych punktów pokrywał się z wyznaczonym punktem podziału w poprzedniej iteracji.

Tę cechę miał omówiony poprzednio algorytm optymalny

Ma to na celu zmniejszenie liczby obliczeń wartości funkcji, gdyż jedynie w pierwszej iteracji obliczamy dwie wartości funkcji, w następnych zaś już tylko jedną wartość funkcji.

(63)

Metoda optymalnych podziałów

Metoda złotego podziału Wymagania te spełnia algorytm, w którym:

czyli:

Stąd:

) 1 , 0 ( ),

)

(

( 1 )

(

2

a = bt = τ ba τ ∈

t

i i

) (

1( )

) ( 2

i

i

b t

t

b − = τ −

0

2

+ τ − 1 = τ

62 , 2 0

1 5 − ≈ τ =

Liczba τ jest stosunkiem boków prostokąta nazywanego przez starożytnych Greków „złotym”

(64)

Metoda optymalnych podziałów

Metoda złotego podziału Punkty podziału obliczamy ze wzoru:

aby zmniejszyć błędy zaokrągleń przy wyznaczaniu kolejnych punktów podziału

Przyjęto mnożnik:

) )(

1

)

(

1 (

1

a b a

t = + − τ −

τ

− 1

) )(

1

)

(

1 (

2

b b a

t = − − τ −

(65)

Metoda optymalnych podziałów

Jeżeli: f(t1i)≤f(t2i), to a pozostaje bez zmian, b=t2(i) Nowe punkty a,b powstają w następujący sposób:

Aby wyznaczyć t metodą złotego podziału z dokładnością nie gorszą niż metodą Johnsona, potrzeba co najwyżej jednego

) ( 1 )

1 ( 2

i

i

t

t

+

=

Metoda złotego podziału

) )(

1

)

(

1 (

1

a b a

t

i+

= + − τ −

Jeżeli: f(t1i)>f(t2i), to b pozostaje bez zmian, a=t1(i)

) ( 2 )

1 ( 1

i

i

t

t

+

=

,....

3 , 2 , 1 ),

)(

1

)

(

1 (

2 +

= b − − ba i =

t

i

τ

Cytaty

Powiązane dokumenty

Natomiast z mecenatu nad zespołami artystycznymi KUL i Studium Nauczycielskiego i Rada Okręgowa będzie musiała zrezygnować, ponieważ zespoły te od dłuższego czasu

Poniżej pokażemy, że powyższa opinia jest nieuzasadniona, a logicy modalni nie mają się tu w gruncie rzeczy czym niepokoić (być może ogólne krytyczne

Należy dodać, że treść nazwy jest jej znaczeniem, gdy między nazwą a jej treścią zachodzi relacja synonimiczności, natomiast treść nazwy wyznacza jej

Prosz¸e napisać w OCTAVE program N ewton(f, df, x0, blad) realizuj¸ acy metod¸e Newtona rozwi¸ azywania równań

Podstawą procesu edukacyjnego jest komunikacja w relacji nauczyciel – – student i to ona będzie przedmiotem dalszych rozważań, uporządkowa- nych za pomocą metafory

Pokazać, że przez zmianę nazw zmiennych można założyć, że wszystkie wiersze, poza zerowym, są wektorami leksykograficznie dodatnimi (do wiersza włączamy również element

(Przypominam! Od poniedziałku oceniam Waszą pracę. Wskazani uczniowi, gdy wykonają zadania, muszą niezwłocznie zrobić zdjęcie i przesłać przez Messengera, ale nie przez grupę,

Mówiąc najprościej, Gellner stara się wyjaśnić dwa zdumiewające zjawiska współczesności: błyskawiczny i pokojowy zanik komunistycznego imperium wraz z ideologią