• Nie Znaleziono Wyników

Rozwiązywanie równań nieliniowych

N/A
N/A
Protected

Academic year: 2021

Share "Rozwiązywanie równań nieliniowych"

Copied!
8
0
0

Pełen tekst

(1)

Rozwiązywanie równań nieliniowych

Marcin Orchel

1 Wstęp

Przykłady wyznaczania miejsc zerowych funkcji f : f (ξ) = 0. Wyszukiwanie miejsc zero- wych wielomianu n-tego stopnia. Wymiar tej przestrzeni wektorowej to n + 1. Przykład 2: dowolna funkcja f : Rn→ Rn, gdzie xT = (x1, . . . , xn),

f (x) =

f1(x1, . . . , xn) ... fn(x1, . . . , xn)

(1)

Rozwiązanie zadania f (x) = 0 oznacza rozwiązanie układu równań

fi(x1, . . . , xn) = 0 (2)

dla i = 1, . . . , n. Możemy również zapisać zagadnienie brzegowe jako zagadnienie wyzna- czania zer. Gdy funkcja f : E → F jest zdefiniowana tak, że E to przestrzeń wektorowa funkcji x(t) ∈ C2(a, b), a F to przestrzeń wektorowa funkcji i skalar

E := C2(a, b) (3)

F := C (a, b) × R (4)

f (x) =

"

f1(x) f2(x)

#

(5) gdzie

f1(x (t)) := x00(t) − g x0(t) , x (t) , t (6)

f2(x) := R (x (a) , x (b)) (7)

gdzie R : R2→ R, g : R3 → R. Zauważmy, że ξ ∈ E takie, że f (ξ) = 0 jest rozwiązaniem zagadnienia brzegowego

x00(t) = g x0(t) , x (t) , t (8)

R (x (a) , x (b)) = 0 (9)

(2)

1.1 Metody iteracyjne

Mamy funkcję f : E → F oraz iteracyjną φ : E → E, wartość początkową x0 ∈ E,

xi+1:= φ (xi) (10)

dla i = 0, 1, 2, . . .. Wartości xi są kolejnymi przybliżeniami wartości ξ takiej, że f (ξ) = 0.

Jeśli ξ jest punktem stałym funkcji φ, tzn. φ(ξ) = ξ i wszystkie punkty stałe funkcji φ są także zerami funkcji f , jak również φ jest funkcją ciągłą (w otoczeniu punktu stałego ξ), to każdy punkt skupienia ξ ciągu xi jest punktem stałym funkcji φ, a stąd także miejscem zerowym funkcji f .

1.2 Metoda stycznych (iteracyjna Newtona) Dla równań postaci

f (x) = 0 (11)

wzór jest następujący

xn+1= xnf (xn) f0(xn) .

Konieczna jest więc znajomość wartości funkcji oraz pochodnych.

Dowód. Wyprowadzenie wzoru, ze wzoru Taylora

f (x) = f (x0) + (x − x0) y0(x0) +(x − x0)2

2 y00(x0) + . . . +(x − x0)n

n! y(n)(x0) + . . . lub inaczej zapisany

X

n=0

1

n!f(n)(x0) (x − x0)n

Szukamy zera ξ funkcji f . Gdy weźmiemy pod uwagę tylko dwa pierwsze składniki oraz fakt, że wartość w poszukiwanym punkcie wynosi 0 otrzymujemy równanie

f (ξ) = 0 = f (x0) +ξ − x¯ 0f0(x0)

gdzie ¯ξ jest pewnym przybliżeniem zera funkcji f . Po przekształceniu ξ − x¯ 0= −f (x0)

f0(x0) i

ξ = x0f (x0) f0(x0)

(3)

Jeśli x jest przybliżeniem ξ (zostawienie tylko jednego składnika we wzorze Taylora), to wzięcie dwóch składników ze wzoru Taylora powinno być lepszym przybliżeniem ξ

¯¯

ξ = x0f0(x0) ± q

(f0(x0))2− 2f (x0) f00(x0)

f00(x0) (12)

Warunek konieczny zbieżności metody Newtona:

f0(x) 6= 0 . (13)

Warunek wystarczający zbieżności:

f (x) f00(x) f02(x)

≤ K < 1 ,

gdzie K jest stałe. Warunki muszą być spełnione w otoczeniu rozwiązania x zawierają- cym wszystkie punkty xn oraz x.

Interpretacja geometryczna: styczne do f (x) w punktach xi wyznaczają kolejne punkty iteracji w miejscu przecięcia stycznej z osią Ox. Inaczej funkcja f zostaje za- stąpiona wielomianem pierwszego stopnia P1(x), który ma taką samą pochodną jak funkcja f w punkcie x0. Czyli wielomianem pierwszego stopnia będzie

f (x0) + (x − x0) f0(x0) = 0 (14) Widzimy, że współczynnik kierunkowy jest rzeczywiście równy pochodnej funkcji f w punkcie x0. Dla wzoru Taylora z dwoma składnikami funkcja f zostaje zastąpiona wie- lomianem drugiego stopnia P2(x), który ma taką samą pierwszą i drugą pochodną w punkcie x0 co funkcja f . Widzimy, że metoda Newtona sprowadza się do odpowiedniego układu równań (przechodzenie przez dany punkt i równość pochodnych).

Przykład 1. Przykład. Narysować dwie funkcje wraz z punktami początkowymi tak, aby dla pierwszej z nich metoda Newtona była zbieżna, a dla drugiej nie.

Przykład 2. Przykład:

f (x) = x2− a (15)

xn+1= xnx2n− a

2xn (16)

xn+1 = 1

2xn+ a

2xn (17)

xn+1= 1 2



xn+ a xn



(18) Wzór może służyć do obliczenia pierwiastków, np.

7 ≈ 2.65, a = 7. Przykładowo zaczynamy od x0 = 2,

x1 = 1 2

 2 +7

2



= 2.75 x2 = 1

2



2.75 + 7 2.75



= 2.65

Metodę tą można stosować również dla układu równań nieliniowych.

(4)

1.3 Zbieżność metody iteracyjnej

Jeśli równanie f (x) = 0 można sprowadzić do postaci

x = F (x) (19)

to kolejne przybliżenia rozwiązania dostajemy ze wzoru:

xn+1= F (xn) , (20)

gdzie x0 jest dane.

Metoda ta jest zbieżna do rozwiązania x, jeśli istnieje otoczenie punktu x takie,

że:

F (x) − F (x) x − x

≤ K < 1 ,

gdzie K jest stałe i jeśli punkt startowy należy do tego otoczenia.

Jeśli funkcja F (x) jest różniczkowalna to metoda ta jest zbieżna, jeśli w otoczeniu rozwiązania zachodzi:

F (x)0 ≤ K < 1 (21)

Zbieżność metody jest tym lepsza im mniejsza jest liczba K.

Bardziej formalnie.

Twierdzenie 1. Niech funkcja φ : Rn → Rn ma jeden punkt stały ξ : φ(ξ) = ξ.

Dalej niech Sr(ξ) := {z | kz − ξk < r} będzie takim otoczeniem punktu ξ, że φ jest odwzorowaniem zwężającym w Sr(ξ), tzn. że

kφ (x) − φ (y)k ≤ K kx − yk (22)

gdzie 0 ≤ K < 1 dla wszystkich x, y ∈ Sr(ξ). Wtedy dla wszystkich x0 ∈ Sr(ξ), xi+1 :=

φ(xi), i = 0, 1, 2, . . . ciąg {xi} ma następujące własności:

• xi ∈ Sr(ξ) dla wszystkich i = 0, 1, . . .

• kxi− ξk ≤ Kikx0− ξk

tzn. ciąg {xi} jest zbieżny co najmniej liniowo do ξ.

Znaleźć dwie funkcje, dla których metoda iteracji jest zbieżna dla pierwszej z nich i nie jest zbieżna dla drugiej z nich, zaznaczyć na rysunku funkcję x oraz F (x), szukamy x dla którego te funkcję się przecinają. Zobrazować procedurę wyszukiwania kolejnych rozwiązań. Na początku zaznaczamy x0, szukamy przecięcia z funkcją F (x), wartość tego przecięcia będzie kolejnym przybliżeniem, zaznaczamy go na osi OY , a następnie zaznaczamy na osi OX w tej samej odległości od początku układu współrzędnych.

Przykład: Rozwiązać równanie x2− 7 = 0 podaną metodą. Przekształcamy równanie do postaci x = 7/x i stosujemy równanie iteracyjne

xn+1= 7/xn

(5)

x0= 2 x1 = 3.5

x2= 2 Przykład:

x2− sin x = 0 (23)

Po sprowadzeniu do postaci (19):

x =q(sin x) (24)

1.4 Metoda siecznych (reguła falsi)

Metoda Newtona wymaga policzenia pochodnych dla funkcji. Reguła falsi. W każdym kroku konstruujemy dwie liczby xi i ai takie że

f (xi) f (ai) < 0 (25)

i ciąg xijest zbieżny do zera funkcji f . Jeśli jest spełniona ta równość, to przedział [xi, ai] zawiera co najmniej jedno zero funkcji f . Niech µ1 będzie zerem interpolacyjnej funkcji liniowej

p (x) := f (xi) + (x − xi)f (xi) − f (ai)

xi− ai (26)

Zauważmy, że p(xi) = f (xi) oraz p(ai) = f (ai). Możemy z tego wyznaczyć x x − xi= −f (xi) (xi− ai)

f (xi) − f (ai) (27)

µi = xi− f (xi) xi− ai

f (xi) − f (ai) = aif (xi) − xif (ai)

f (xi) − f (ai) (28) Ponieważ f (xi)f (ai) < 0 więc µ jest dobrze określone i albo xi < µ < aialbo ai < µ < xi. Liczby xi+1 i ai+1są określone jako: jeśli f (µi) f (xi) > 0

xi+1:= µi (29)

ai+1:= ai (30)

oraz jeśli f (µi)f (xi) < 0

xi+1:= µi (31)

ai+1:= xi (32)

Jeśli f (µi) = 0 to przerywamy obliczenia. Przyjmujemy dla uproszczenia, że istnieje f00 i że dla i jest spełnione

xi < ai (33)

(6)

f (xi) < 0, f (ai) > 0 (34)

f00(x) ≥ 0 (35)

dla wszystkich x ∈ [xi, ai].

Wtedy albo f (µi) = 0, albo

f (µi) f (xi) > 0 (36)

i stąd

xi < xi+1= µi< ai+1= ai (37) Przy tych założeniach reguła falsi jest następująca:

xi+1= φ (xi) (38)

φ (x) := af (x) − xf (a)

f (x) − f (a) (39)

Wykorzystuje ona tylko wzory (29) i (30). Metoda siecznych wykorzystuje tylko wzory (31) i (32) i jest następująca:

xi+1= xi−1f (xi) − xif (xi−1)

f (xi) − f (xi−1) (40)

od i = 0, 1, . . ..

Metoda siecznych określona jest również wzorem:

xn+1= xnxn− xm

f (xn) − f (xm)f (xn) ,

gdzie m < n, x0 oraz x1 dane. Różni się tym od metody Newtona, że pochodna została zastąpiona ilorazem różnicowym przykładowo z poprzednim punktem aproksymującym, czyli

f0(xn) ≈ f (xn) − f (xn−1) xn− xn−1 Postać szczególna wzoru

xn+1= xnxn− xn−1

f (xn) − f (xn−1)f (xn) , Na początku musimy wyznaczyć dwa punkty.

Interpretacja geometryczna: aproksymacja funkcji f (x) sieczną. Punkt xn+1 jest przecięciem osi OX z sieczną przechodzącą przez punkty xn i xn−1.

Metoda ta jest zbieżna jeśli f (xm) i f (xn) mają różne znaki.

Obliczyć kilka pierwszych iteracji dla funkcji f (x) = x2− 7. Początkowy przedział możemy wziąść [0,3].

(7)

1.5 Metoda połowienia przedziału (bisekcji)

Po angielsku bisection method, http://en.wikipedia.org/wiki/Bisection_method.

Kolejne przybliżenia są środkami przedziału:

xn+1= xn+ xn−1

2 . (41)

W każdym kroku wybierany jest odpowiedni przedział. Na początku wybieramy takie punkty, dla których zachodzi f (a) < 0 < f (b). Następnie obliczamy punkt c = 0.5(a + b) i sprawdzamy czy f (a)f (c) < 0, wtedy f ma zero w przedziale [a, c].

Przykład: wyznaczyć tą metodą zera funkcji f (x) = x2 − 7. Wartość przybliżona 2.65. Na początku wybieramy dwa punkty a oraz b, np. [0, 3]. Otrzymujemy

x2 = (0 + 3) /2 = 1.5 x3= (1.5 + 3) /2 = 2.25

2 Zadania

2.1 Zadania na 3.0

• Znaleźć pierwiastki przybliżone metodą bisekcji, siecznych i stycznych dla 3 przy- bliżeń równań: grupa 1 i 2

x3+ 2x2− 4x − 8 = 0 (42)

x4− x − 10 = 0 (43)

grupa 3 i 4

x3− 2x2− 7x − 4 = 0 (44)

x4− 2x2+ 4x − 8 = 0 (45)

Naszkicować wykresy lewych stron tych równań wraz z kolejnymi punktami przy- bliżenia. Wyliczyć błędy względne procentowe dla kolejnych przybliżeń.

Dodatkowo można sprawdzić czy metody są zbieżne.

2.2 Zadania na 4.0

• Rozwiązać równania metodą iteracji dla 3 przybliżeń: dla grup 1 i 2:

x4− x − 10 = 0 (46)

dla grup 3 i 4:

x3+ x − 5 = 0 (47)

Naszkicować wykresy lewych stron tych równań, oraz wykres z dwoma funkcjami y = x oraz y = f (x) z metody iteracji wraz z kolejnymi punktami przybliżenia.

Wyliczyć błędy dla kolejnych przybliżeń. Sprawdzić czy metoda jest zbieżna.

(8)

2.3 Zadania na 5.0

• Znaleźć pierwiastki wielomianu x5−6x4+10x3+13x2−15x−16 metodą siecznych, stycznych i połowienia. Dokonać 4 przybliżenia wymienionymi metodami. Naszki- cować wykres tego wielomianu wraz z kolejnymi punktami przybliżenia. Wyliczyć błędy dla kolejnych przybliżeń. Sprawdzić czy metoda jest zbieżna.

Cytaty

Powiązane dokumenty

• sprawdza, czy dana liczba spełnia równanie stopnia pierwszego z jedną niewiadomą [VII, 2]. • rozwiązuje równania stopnia pierwszego z jedną niewiadomą

Rozwiązać rówanie nieliniowe przy użyciu napisanej

Metoda Regula Falsi jest zbieżna do dowolnej funkcji ciągłej w przedziale [a,b] jeśli wartość pierwszej pochodnej jest ograniczona i różna od zera w..

Rozwiązanie pojedynczego układu równań można znaleźć przy zastosowaniu algorytmu postępowania odwrotnego (ilość operacji ~n 2 ). Pomija się elementy diagonalne,

Metodę GS można zastosować w przypadku niezerowych elementów diagonalnych macierzy A. Metoda jest zbieżna jeśli macierz jest symetryczna i dodatnio określona oraz gdy jest

rozwiązywanie równań rekurencyjnych. 12

Uwaga: gdyby w naszym zadaniu jako parametry przyjęto inne niewiadome, bądź pominięto inne równanie (w wyniku realizacji nieco innej koncepcji

• Dodać komentarz do skryptu opisujący krótko na czym polegają użyte metody oraz wnioski z