28.01.2015 Views

Netiesinių lygčių sistemų sprendimas

Netiesinių lygčių sistemų sprendimas

Netiesinių lygčių sistemų sprendimas

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Turinys<br />

Netiesinių lygčių sistemų <strong>sprendimas</strong><br />

Olga Štikonienė<br />

Diferencialinių lygčių ir skaičiavimo matematikos katedra, MIF VU<br />

1 Vektorių ir matricų normos<br />

2 Netiesinių lygčių sistemų <strong>sprendimas</strong><br />

3 Paprastųjų iteracijų metodas<br />

4 Niutono metodas<br />

Skaitiniai metodai (MIF VU) Netiesinių lygčių sistemų <strong>sprendimas</strong> 1 / 36<br />

Skaitiniai metodai (MIF VU) Netiesinių lygčių sistemų <strong>sprendimas</strong> 2 / 36<br />

matricų normos<br />

Vektorių ir matricų normos<br />

Vektorių ir matricų normos<br />

‣ Kaip palyginti tarpusavyje daugiakomponentinius<br />

Kaip palyginti tarpusavyje daugiakomponentinius matematinius<br />

matematinius dydžius, tokius kaip vektoriai ir matricos<br />

dydžius, tokius kaip vektoriai ir matricos<br />

Euklidinė norma (vektoriaus ilgis) trimatėje erdvėje:<br />

Euklido norma (vektoriaus<br />

ilgis ) trimatėje erdvėje<br />

⎛a<br />

⎞ ⎛ ⎞<br />

⎜ ⎟<br />

2 2 2<br />

x = b x a<br />

= a + b + c<br />

2<br />

√<br />

⎜c<br />

⎟<br />

⎝x ⎠=<br />

⎝ b ⎠ , ‖x‖ 2 = a 2 + b 2 + c 2 .<br />

c<br />

⎛<br />

x<br />

1<br />

⎞<br />

⎜ ⎟<br />

x<br />

n<br />

2 2<br />

x = ⎜ ⎟ x = x<br />

2<br />

i<br />

⎜ ⎟<br />

∑<br />

Euklido Euklidinė norma norma n-matėje n-matėje erdvėje: erdvėje: M<br />

i<br />

=<br />

1<br />

⎜<br />

⎟<br />

⎛ ⎞<br />

⎝x n ⎠<br />

x 1<br />

X = ⎜ x 2<br />

√<br />

⎟<br />

⎝ · · · ⎠ , ‖x‖ 2 = x1 2 + x 2 2 + · · · + x n 2 .<br />

x n<br />

Vektorių ir matricų normos<br />

Vektoriaus norma<br />

Vektoriaus x norma vadinamas skaičius, žymimas ‖x‖. Vektoriaus<br />

normos savybės:<br />

1 ‖x‖ > 0, jei x ≠ 0, ir nulinio vektoriaus norma ‖0‖ = 0;<br />

2 ‖αx‖ = |α| · ‖x‖, čia α - skaičius;<br />

3 ‖x + y‖ ‖x‖ + ‖y‖ bet kuriems x ir y.<br />

Skaitiniai metodai (MIF VU) Netiesinių lygčių sistemų <strong>sprendimas</strong> 3 / 36<br />

Skaitiniai metodai (MIF VU) Netiesinių lygčių sistemų <strong>sprendimas</strong> 4 / 36<br />

Vektorių ir matricų normos<br />

Vektoriaus normų pavyzdžiai<br />

Vektorių ir matricų normos<br />

Vektoriaus p-norma<br />

Dažniausiai taikomos vektoriaus x normos :<br />

1 Modulių sumos:<br />

‖x‖ 1 =<br />

N∑<br />

|x k |;<br />

k=1<br />

2 Kvadratinė:<br />

x<br />

x 2<br />

1<br />

x<br />

2<br />

x (x<br />

1,x 2<br />

)<br />

Matavimo rezultatas<br />

Regresijos linija<br />

y i<br />

Minėtos vektoriaus normos yra p-normos, apibrėžtos kaip<br />

( ∑ N<br />

‖x‖ p = |x k | p) 1 p<br />

.<br />

k=1<br />

( ∑ N<br />

‖x‖ 2 = |x k | 2) 1 2<br />

;<br />

k=1<br />

x <br />

x 1<br />

atskirieji atvejai.<br />

3 Maksimumo:<br />

‖x‖ ∞ = max<br />

1kN |x k|.<br />

Skaitiniai metodai (MIF VU) Netiesinių lygčių sistemų <strong>sprendimas</strong> 5 / 36<br />

Skaitiniai metodai (MIF VU) Netiesinių lygčių sistemų <strong>sprendimas</strong> 6 / 36<br />

Vektorių ir matricų normos<br />

Matricos norma<br />

Vektorių ir matricų normos<br />

Suderintos normos<br />

Matricos A norma vadinamas skaičius, žymimas ‖A‖, turintis šias<br />

savybes:<br />

1 ‖A‖ > 0, jei A ≠ 0, ir nulinės matricos norma ‖O‖ = 0;<br />

2 ‖αA‖ = |α| · ‖A‖, čia α - skaičius;<br />

3 ‖A + B‖ ‖A‖ + ‖B‖ bet kuriems A ir B;<br />

4 ‖AB‖ ‖A‖ · ‖B‖ bet kuriems A ir B.<br />

Pastaba.<br />

Vektoriaus x norma vadinamas skaičius, žymimas ‖x‖, turintis 1)-3)<br />

savybes:<br />

Apibrėžimas.<br />

Vektoriaus x norma yra suderinta su matricos A norma, jei<br />

‖Ax‖ ‖A‖ · ‖x‖.<br />

Normos yra suderintos, kai matricos A norma yra<br />

apibrėžiama panaudojant vektoriaus norma:<br />

‖Ax‖<br />

‖A‖ = max<br />

x≠0 ‖x‖ .<br />

Norma aprašo didžiausią vektoriaus pailgėjimą,<br />

atvaizduojant operatoriumi A.<br />

Skaitiniai metodai (MIF VU) Netiesinių lygčių sistemų <strong>sprendimas</strong> 7 / 36<br />

Skaitiniai metodai (MIF VU) Netiesinių lygčių sistemų <strong>sprendimas</strong> 8 / 36


Vektorių ir matricų normos<br />

Matricų normų pavyzdžiai<br />

Matricų normos (suderintos su vektoriaus normomis) :<br />

1 Stulpelių modulių suma p = 1:<br />

Vektorių ir matricų normos<br />

Vektorių ir matricų suderintos normos<br />

∞-norma:<br />

N∑<br />

‖A‖ 1 = max |a ij |;<br />

1jN<br />

i=1<br />

p = ∞,<br />

N∑<br />

‖A‖ ∞ = max |a ij |, ‖x‖ ∞ = max |x i|.<br />

1iN<br />

1iN<br />

j=1<br />

2 Kvadratinė p = 2 :<br />

√<br />

‖A‖ 2 = max |λ i(A T A)|;<br />

1iN<br />

3 Eilučių modulių suma p = ∞ :<br />

N∑<br />

‖A‖ ∞ = max |a ij |;<br />

1iN<br />

j=1<br />

Matricos ∞-norma suderinta su vektoriaus ∞-norma:<br />

‖Ax‖ ∞ = max |(Ax) i| = max | ∑ N N∑<br />

a ij x j | max |a ij | max |x j|<br />

1iN 1iN 1iN 1jN<br />

j=1<br />

j=1<br />

= max<br />

1iN<br />

( N ∑<br />

j=1<br />

|a ij | ) max<br />

1jN |x j| = ‖A‖ ∞ ‖x‖ ∞ .<br />

Skaitiniai metodai (MIF VU) Netiesinių lygčių sistemų <strong>sprendimas</strong> 9 / 36<br />

Skaitiniai metodai (MIF VU) Netiesinių lygčių sistemų <strong>sprendimas</strong> 10 / 36<br />

Vektorių ir matricų normos<br />

Vektorių ir matricų suderintos normos<br />

1-norma:<br />

p = 1,<br />

N∑<br />

N∑<br />

‖A‖ 1 = max<br />

1jN<br />

|a ij |, ‖x‖ 1 = |x k |.<br />

i=1<br />

k=1<br />

Matricos 1-norma suderinta su vektoriaus 1-norma:<br />

N∑<br />

N∑<br />

N∑ ∣ ∣∣ ∑ N ( ∑ N )<br />

‖Ax‖ 1 = |(Ax) i | = ∣ a ij x j max |a ij‖x j |<br />

1jN<br />

i=1<br />

i=1 j=1<br />

i=1 j=1<br />

( N∑ N∑ )<br />

N∑ N∑<br />

max |a ij | |x j | = max |a ij | |x j | = ‖A‖ 1 ‖x‖ 1 .<br />

1jN<br />

1jN<br />

i=1 j=1<br />

i=1 j=1<br />

Vektorių ir matricų normos<br />

Teiginys simetrinėms matricoms:<br />

Tegul S yra simetrinė matrica,<br />

λ 1 , · · · , λ N - jos tikrinės reikšmės,<br />

e 1 , · · · , e N - jos tikrinių vektorių ortonormuota sistema:<br />

Se i = λ i e i .<br />

N∑<br />

( ∑ N N∑ ) N∑<br />

∀x : x = x i e i ⇒ (Sx, x) = λ i x i e i , x i e i = λ i |x i | 2 .<br />

i=1<br />

i=1<br />

⇒ (Sx, x) max<br />

1iN |λ i|<br />

i=1<br />

N∑<br />

i=1<br />

i=1<br />

|x i | 2 = max<br />

1iN |λ i|‖x‖ 2 2 ,<br />

čia x i - vektoriaus x koordinatės.<br />

Matricos 2-normos suderinamumo su vektoriaus 2-norma<br />

įrodymui reikalinga nelygybė: A T A yra simetrinė matrica, nes<br />

(A T A) T = A T (A T ) T =<br />

A T A,<br />

⇒ (A T Ax, x) max<br />

1iN |λ i(A T A)|‖x‖ 2 2 .<br />

Skaitiniai metodai (MIF VU) Netiesinių lygčių sistemų <strong>sprendimas</strong> 11 / 36<br />

Skaitiniai metodai (MIF VU) Netiesinių lygčių sistemų <strong>sprendimas</strong> 12 / 36<br />

Vektorių ir matricų normos<br />

Vektorių ir matricų normų suderinamumas<br />

Vektorių ir matricų normos<br />

2-norma:<br />

√<br />

p = 2, ‖A‖ 2 = max i(A T A)|,<br />

1iN<br />

‖x‖ 2 =<br />

( N ∑<br />

k=1<br />

Matricos 2-norma suderinta su vektoriaus 2-norma:<br />

‖Ax‖ 2 = √ √<br />

(Ax, Ax) = (A T Ax, x)<br />

√<br />

∣<br />

max ∣λ i (A T ∣<br />

A) ∣‖x‖ 2<br />

1iN<br />

2 = ‖A‖ 2‖x‖ 2 .<br />

|x k | 2) 1 2<br />

.<br />

Pastaba:<br />

(A T ∣<br />

Ax, x) max ∣λ i (A T ∣<br />

A) ∣‖x‖ 2 2<br />

1iN<br />

(A T Ax, x) = (Ax, Ax) 0<br />

Jei A simetrinė ⇒ λ i (A T A) = λ i (A 2 ) = λ 2 i (A).<br />

⇒ ‖A‖ 2 = max<br />

1iN |λ i(A)|<br />

⇒ λ i (A T A) 0<br />

Jei Ax = λ i x ⇒ ‖A‖ · ‖x‖ ‖λ i x‖ = |λ i | · ‖x‖.<br />

Bet kurios tikrinės reikšmės modulis yra nedidesnis už bet kurią<br />

simetrinės matricos A normą.<br />

∀i.<br />

Skaitiniai metodai (MIF VU) Netiesinių lygčių sistemų <strong>sprendimas</strong> 13 / 36<br />

Skaitiniai metodai (MIF VU) Netiesinių lygčių sistemų <strong>sprendimas</strong> 14 / 36<br />

Vektorių ir matricų normos<br />

Vektorių ir matricų normos<br />

Netiesinių lygčių sistemų <strong>sprendimas</strong><br />

Netiesinės lygčių sistemos<br />

Apibrėžimas:<br />

Simetrinė matrica A yra didesnė arba lygi simetrinei matricai B:<br />

A B,<br />

jei ∀ vektoriui x galioja skaliarinių sandaugų nelygybė:<br />

(Ax, x) (Bx, x).<br />

f 1 (x 1 , x 2 , · · · , x n ) = 0<br />

f 2 (x 1 , x 2 , · · · , x n ) = 0<br />

f n (x 1 , x 2 , · · · , x n ) = 0.<br />

Vektorinis pavidalas<br />

x - vektorius:<br />

⎛<br />

x = ⎜<br />

⎝<br />

x 1<br />

x 2<br />

· · ·<br />

x n<br />

.<br />

⎞<br />

⎟<br />

⎠ ,<br />

.<br />

Pavyzdys<br />

x 2 1 + 2x 2 2 + 5x 3 = 10<br />

x 1 x 2 + 5x 2 x 3 = 4<br />

3x 1 − x 2 + x 3 3 = 2.<br />

f (x) = 0<br />

f (x) - vektorinė funkcija:<br />

⎛<br />

f (x) = ⎜<br />

⎝<br />

f 1 (x 1 , · · · , x n )<br />

f 2 (x 1 , · · · , x n )<br />

· · ·<br />

f n (x 1 , · · · , x n )<br />

⎞<br />

⎟<br />

⎠ .<br />

Skaitiniai metodai (MIF VU) Netiesinių lygčių sistemų <strong>sprendimas</strong> 15 / 36<br />

Skaitiniai metodai (MIF VU) Netiesinių lygčių sistemų <strong>sprendimas</strong> 16 / 36


Netiesinių lygčių sistemų <strong>sprendimas</strong><br />

Pavyzdys - dvejų lygčių sistema<br />

Dviejų lygčių sistema - pavyzdys<br />

Paprastųjų iteracijų metodas<br />

Netiesinių lygčių sistemų <strong>sprendimas</strong><br />

Apskritimas x 2 + y 2 = r 2<br />

Sprendinys<br />

f(x,y)=0<br />

g(x,y)=0<br />

Elipsė (x/a) 2 + (y/b) 2 = 1<br />

p y<br />

priklauso nuo<br />

pradinio artinio<br />

parinkimo<br />

Paprastųjų iteracijų metodas (angl. Fixed-point method):<br />

f (x) = 0 ⇔ x = S(x).<br />

Žinomas k-asis vektoriaus x artinys x k ⇒<br />

x k+1 = S(x k ) - iteracinis procesas.<br />

Ar iteracinis procesas konverguoja<br />

Reikia nustatyti jo konvergavimo sąlygas.<br />

Skaitiniai metodai (MIF VU) Netiesinių lygčių sistemų <strong>sprendimas</strong> 17 / 36<br />

Skaitiniai metodai (MIF VU) Netiesinių lygčių sistemų <strong>sprendimas</strong> 18 / 36<br />

Paprastųjų iteracijų metodas<br />

Spūdinė funkcija<br />

Apibrėžimas.<br />

Funkcija S(x) vadinasi spūdine funkcija n-mačių vektorių aibėje<br />

V , jei egzistuoja toks skaičius q ∈ (0; 1), kad<br />

∀x, y ∈ V ‖S(x) − S(y)‖ q‖x − y‖.<br />

Pastaba. Spūdinė funkcija yra tolydžioji.<br />

Pavyzdys:<br />

Aibė V = [−0, 5; 0, 5], funkcija S(x) = x 3 .<br />

x 1 = 0, 1; x 2 = 0, 2; ∆x = 0, 1;<br />

S(x 1 ) = 0, 001; S(x 2 ) = 0, 008; ∆S(x) = 0, 007; q = 0, 5.<br />

Paprastųjų iteracijų metodas<br />

Paprastųjų iteracijų metodo konvergavimo<br />

sąlygos<br />

Teorema.<br />

Sakykime, kad vektoriaus a aplinkoje Ω δ (a) = {x : ‖x − a‖ δ} yra<br />

apibrėžta spūdinė funkcija S(x) ir ‖S(a) − a‖ (1 − q)δ.<br />

Tada aplinkoje Ω δ (a)<br />

yra vienintelis vektorinės lygties x = S(x) sprendinys x ∗ ;<br />

paprastųjų iteracijų seka x k+1 = S(x k ) su bet kokiu pradiniu<br />

artiniu x 0 ∈ Ω δ (a) konverguoja į šį sprendinį;<br />

k-ojo artinio paklaida įvertinama nelygybe:<br />

‖S(x k ) − S(x ∗ )‖ <br />

qk<br />

1 − q ‖S(x0 ) − x 0 ‖.<br />

Skaitiniai metodai (MIF VU) Netiesinių lygčių sistemų <strong>sprendimas</strong> 19 / 36<br />

Skaitiniai metodai (MIF VU) Netiesinių lygčių sistemų <strong>sprendimas</strong> 20 / 36<br />

Paprastųjų iteracijų metodas<br />

Teoremos įrodymas<br />

‖x n+1 − x n ‖ ‖S(x n ) − S(x n−1 )‖ q‖x n − x n−1 ‖ q 2 ‖x n−1 − x n−2 ‖<br />

· · · q n ‖x 1 − x 0 ‖ = q n ‖S(x 0 ) − x 0 ‖,<br />

(iš spūdinės funkcijos apibrėžimo).<br />

Kai l > n<br />

‖x l − x n ‖ ‖x l − x l−1 ‖ + ‖x l−1 − x l−2 ‖ + · · · + ‖x n+1 − x n ‖<br />

q l−1 ‖S(x 0 ) − x 0 ‖ + q l−2 ‖S(x 0 ) − x 0 ‖ + · · · + q n ‖S(x 0 ) − x 0 ‖<br />

q n (q l−n−1 + q l−n−2 + · · · + 1)‖S(x 0 ) − x 0 ‖<br />

Seka fundamentalioji<br />

lim<br />

l→∞ xl = x ∗ : ‖x ∗ − x n ‖ <br />

qn<br />

1 − q ‖S(x0 ) − x 0 ‖.<br />

qn<br />

1 − q ‖S(x0 ) − x 0 ‖.<br />

Ar x ∗ yra sprendinys<br />

x k+1 = S(x k ) ⇒ x ∗ = S(x ∗ ) (perėjome prie ribos ir<br />

pasinaudojame S tolydumu), t.y. x ∗ yra vektorinės lygties<br />

x = S(x) sprendinys.<br />

Skaitiniai metodai (MIF VU) Netiesinių lygčių sistemų <strong>sprendimas</strong> 21 / 36<br />

Paprastųjų iteracijų metodas<br />

Teoremos (sprendinio vienaties) įrodymas<br />

Tarkime, kad lygtis x = S(x) turi du sprendinius x 1 ir x 2 (x 1 ≠ x 2 ).<br />

Tada<br />

‖x 1 − x 2 ‖ = ‖S(x 1 ) − S(x 2 )‖ q‖x 1 − x 2 ‖< ‖x 1 − x 2 ‖.<br />

Prieštaravimas. ⇒ ∃! sprendinys. ✷<br />

Pastaba. Kai n = 0 iš<br />

‖x l − x n ‖ <br />

qn<br />

1 − q ‖S(x0 ) − x 0 ‖ ⇒ ‖x l − x 0 ‖ ‖S(x0 ) − x 0 ‖<br />

:= δ<br />

1 − q<br />

⇒ ∀x l ∈ Ω δ (x 0 ) = {x : ‖x − x 0 ‖ δ}<br />

Teoremos įrodymas rodo, kad pakankama yra prielaida, kad<br />

S(x) apibrėžta, kai x ∈ Ω δ (x 0 ) ir ∀x 1 , x 2 ∈ Ω δ (x 0 )<br />

‖S(x 1 ) − S(x 2 )‖ q‖x 1 − x 2 ‖, 0 < q < 1.<br />

Skaitiniai metodai (MIF VU) Netiesinių lygčių sistemų <strong>sprendimas</strong> 22 / 36<br />

Paprastųjų iteracijų metodas<br />

Paprastųjų iteracijų metodo privalumai:<br />

Paprastųjų iteracijų metodas<br />

Netiesinių lygčių sistemos perrašymas<br />

Išreikštinis iteracinis metodas<br />

Nereikia skaičiuoti dalinių išvestinių<br />

Tiesinis konvergavimo greitis<br />

Netiesinių lygčių sistema perrašoma nevienareikšmiškai<br />

f (x) = 0 ⇔ x = S(x)<br />

Svarbu:<br />

S(x) tenkintų konvergavimo sąlygas;<br />

Konstanta q būtų kuo mažesnė.<br />

x k+1 − x k<br />

= f (x k ),<br />

τ<br />

čia τ - iteracinis parametras, parenkamas taip, kad iteracinis<br />

procesas konverguotų greičiausiai.<br />

Iteracinio metodo funkcija S(x) = x + τf (x).<br />

Pikaro metodas<br />

Tegul f (x) = Ax + G(x),<br />

A - kvadratinė n-osios eilės matrica.<br />

Iteracinis procesas<br />

Ax k+1 + G(x k ) = 0<br />

Iteracinis procesas konverguoja, jei S(x) = A −1 G(x) yra spūdinė<br />

funkcija.<br />

Skaitiniai metodai (MIF VU) Netiesinių lygčių sistemų <strong>sprendimas</strong> 23 / 36<br />

Skaitiniai metodai (MIF VU) Netiesinių lygčių sistemų <strong>sprendimas</strong> 24 / 36


Paprastųjų iteracijų metodas<br />

1 pavyzdys<br />

Perrašome<br />

x 2 1 + 50x 1 + x 2 2 + x 3 − 200 = 0<br />

x 2 1 + 20x 2 + x 2 3 − 50 = 0<br />

−x 2 1 − x 2 2 + 40x 3 + 75 = 0.<br />

x 1 = (−x 2 1 − x 2 2 − x 3 + 200)/50<br />

x 2 = (−x 2 1 − x 2 3 + 50)/20<br />

x 3 = (x 2 1 + x 2 2 − 75)/40.<br />

Parenkame pradinį artinį: x 1 = x 2 = x 3 = 0<br />

Paprastųjų iteracijų metodas<br />

1 pavyzdys – skaičiavimo rezultatai<br />

1 pavyzdys – skaičiavimo rezultatai<br />

G = [ (-0.02*x(1)^2 - 0.02*x(2)^2 - 0.02*x(3)^2 + 4)<br />

(-0.05*x(1)^2 05* (1)^2 - 0.05*x(3)^205* + 2.5)<br />

(0.025*x(1)^2 + 0.025*x(2)^2 -1.875) ];<br />

» x0=[0 0 0]; eps=1.e-6; maxit=100;<br />

iter.nr. x0(1) x0(2) x0(3) paklaida<br />

0 0 0 0<br />

1.0000 4.0000 2.5000 -1.8750 5.0760<br />

2.0000 3.4847 1.5242 -1.3188 1.2358<br />

3.0000 3.6759 1.8059 -1.5133 0.3921<br />

4.0000 3.6187 1.7099 -1.4557 0.1257<br />

5.0000 3.6372 1.7393 -1.4745 0.0395<br />

6.0000 3.6314 1.7298 -1.4686 0.0126<br />

7.0000 3.6333 1.7328 -1.4705 0.0040<br />

8.0000 3.6327 1.7318 -1.4699 0.00130013<br />

9.0000 3.6329 1.7321 -1.4701 0.0004<br />

10.0000 3.6328 1.7321 -1.4700 0.0001<br />

11.0000 3.6328 1.7321 -1.4701 0.0000<br />

12.0000 3.6328 1.7321 -1.4701 0.0000<br />

13.0000 3.6328 1.7321 -1.4701 0.0000<br />

14.0000 3.6328 1.7321 -1.4701 0.0000<br />

15.0000 3.6328 1.7321 -1.4701 0.00000000<br />

Paprastųjų iteracijų metodas konverguoja<br />

Skaitiniai metodai (MIF VU) Netiesinių lygčių sistemų <strong>sprendimas</strong> 25 / 36<br />

Skaitiniai metodai (MIF VU) Netiesinių lygčių sistemų <strong>sprendimas</strong> 26 / 36<br />

2 pavyzdys<br />

Perrašome<br />

Paprastųjų iteracijų metodas<br />

x 2 1 + 4x 2 2 + 9x 3 − 36 = 0<br />

x 1 =<br />

x 2 =<br />

x 3 =<br />

x 2 1 + 9x 2 2 − 47 = 0<br />

x 2 1 x 3 − 11 = 0.<br />

√<br />

11/x3<br />

√ (47−x 2<br />

1 )<br />

3<br />

√ (36−x 2<br />

1 −4x2 2)<br />

3 .<br />

Parenkame pradinį artinį: x 1 = x 2 = 0, x 3 > 0<br />

Skaitiniai metodai (MIF VU) Netiesinių lygčių sistemų <strong>sprendimas</strong> 27 / 36<br />

Paprastųjų iteracijų metodas<br />

2 pavyzdys – skaičiavimo rezultatai<br />

2 pavyzdys – skaičiavimo rezultatai<br />

G = [ (sqrt(11/x(3)))<br />

(sqrt(47 - x(1)^2) / 3 )<br />

(sqrt(36 - x(1)^2 - 4*x(2)^2) / 3 ) ];<br />

x0=[0 0 10]; eps=0.0001; maxit=500;<br />

iter.nr. x0(1) x0(2) x0(3) paklaida<br />

0 0 0 10<br />

1.0000 1.0488 2.2852 2.0000 8.3858<br />

2.0000 2.3452 2.2583 1.2477 1.4991<br />

3.0000 2.9692 2.1473 1.0593 0.6612<br />

4.0000 3.2224 2.0598 0.9854 0.2779<br />

5.0000 3.3411 2.0170 0.9801 0.1263<br />

6.0000 3.3501 1.9955 0.9754 0.0238<br />

7.0000 3.3581 1.9938 0.9916 0.0181<br />

8.0000 3.3307 1.9923 0.9901 0.0275<br />

9.0000 3.3332 3332 1.9974 1.0017 0.0129<br />

0129<br />

10.0000 3.3139 1.9969 0.9962 0.0201<br />

11.0000 3.3230 2.0005 1.0037 0.0124<br />

12.0000 3.3105 1.9988 0.9972 0.0142<br />

13.0000 3.3213 2.0011 1.0033 0.0126<br />

14.0000 3.3112 3112 1.9991 0.9973 0.01200120<br />

15.0000 3.3212 2.0010 1.0028 0.0116<br />

16.0000 3.3120 1.9992 0.9974 0.0107<br />

17.0000 3.3209 2.0008 1.0024 0.0103<br />

18.0000 3.3126 1.9992 0.9977 0.0097<br />

19.0000 3.3205 3205 2.0007 1.0022 0.00920092<br />

20.0000 3.3130 1.9993 0.9979 0.0087<br />

...<br />

50.0000 3.3159 1.9999 0.9996 0.0017<br />

...<br />

102.00000000 3.3166 3166 2.0000 1.0000 0.0001<br />

0001<br />

103.0000 3.3167 2.0000 1.0000 0.0001<br />

Paprastųjų iteracijų metodas konverguoja<br />

Skaitiniai metodai (MIF VU) Netiesinių lygčių sistemų <strong>sprendimas</strong> 28 / 36<br />

Niutono metodas<br />

Niutono metodas<br />

Viena netiesinė lygtis<br />

Teiloro skleidinys<br />

f (x k+1 ) ≈ f (x k )+f ′ (x k )(x−x k )<br />

n netiesinių lygčių sistema<br />

Komponentės f i Teiloro skleidinys<br />

Niutono metodas<br />

x k+1 = x k − f (x k)<br />

f ′ (x k )<br />

n∑<br />

f i (x k+1 ) ≈ f i (x k ∂f i<br />

) + (x k )(x k+1<br />

∂x j − xj k )<br />

j<br />

j=1<br />

Išvestinės skaičiuojamos taške x k = (x k 1 , · · · , x k n ).<br />

Niutono metodas<br />

x k+1 = x k − J(x k ) −1 f (x k ).<br />

Skaitiniai metodai (MIF VU) Netiesinių lygčių sistemų <strong>sprendimas</strong> 29 / 36<br />

Niutono metodas<br />

Pavyzdys - dviejų kreivių sankirta<br />

1.5<br />

1<br />

0.5<br />

0<br />

−0.5<br />

−1<br />

−1 −0.5 0 0.5 1<br />

Niutono metodas<br />

Pažymėkime ∆x k+1 = x k+1 − x k<br />

x 2 1 + x 2 2 − 1 = 0<br />

x 2 1 − x 2 = 0<br />

f 1 (x 1 , x 2 ) = x 2 1 + x 2 2 − 1<br />

f 2 (x 1 , x 2 ) = x 2 1 − x 2<br />

⇒ Jakobio matrica<br />

( ∂f1 ) ∂f 1<br />

∂x<br />

J = 1 ∂x 2<br />

∂f 2 ∂f 2<br />

∂x 1 ∂x 2<br />

x k+1 = x k − J(x k ) −1 f (x k ).<br />

( )<br />

2x1 2x<br />

=<br />

2<br />

2x 1 −1<br />

J(x k )∆x k+1 = −f (x k ) ⇒ x k+1 = ∆x k+1 + x k .<br />

Skaitiniai metodai (MIF VU) Netiesinių lygčių sistemų <strong>sprendimas</strong> 30 / 36<br />

Niutono metodas<br />

Pavyzdys - dviejų kreivių sankirta: skaičiavimo<br />

rezultatai<br />

Apskritimo ir parabolės sankirta<br />

funkcijos<br />

Jakobianas<br />

f = [(x(1)^2(1)^2 + x(2)^2 -1)<br />

df = [2*x(1) 2*x(2)<br />

(x(1)^2 - x(2)) ];<br />

2*x(1) -1 ] ;<br />

x 0 = (0,505)<br />

0,5) – pradinis artinys<br />

» x0=[0.5 0.5]; eps=1.e-6; maxit=100;<br />

iter.nr. x0(1) x0(2) paklaida<br />

0 0.5000 0.5000<br />

1.0000 0.8750 0.6250 0.3953<br />

2.0000 0.7907 0.6181 0.0846<br />

3.0000 0.7862 0.6180 0.0045<br />

4.0000 0.7862 0.6180 0.00000000<br />

5.0000 0.7862 0.6180 0.0000<br />

Niutono metodas konverguoja<br />

Skaitiniai metodai (MIF VU) Netiesinių lygčių sistemų <strong>sprendimas</strong> 31 / 36<br />

Niutono metodas<br />

Trijų netiesinių paviršių sankirta<br />

Pavyzdys - triejų netiesinių paviršių sankirta<br />

Trijų netiesinių paviršių sankirta Jakobio Jakobio matrica matrica<br />

x1 2 + x 2 2 + x 3 2 − 14 = 0 ⎛ ∂fdf = [ 1 ∂f 2*x(1) 1 ∂f2*x(2) ⎞ 2*x(3)<br />

1 ⎛<br />

⎞<br />

x1 2 + 2x 2 2 − 9 = 0<br />

∂x 1 ∂x 2*x(1) 2x(1) 2 ∂x4*x(2) 4x(2) 3<br />

0<br />

2x 1 2x 2 2x 3<br />

f = [ (x(1)^2 + x(2)^2 + x(3)^2 - 14)<br />

x 1 − 3x2 2 + x 3 2 = 0 J = ⎜ ∂f 2 ∂f 2 1 ∂f -6*x(2) 2 ⎟<br />

⎝ ∂x 1 ∂x 2 ∂x 3 ⎠ = 2*x(3) ] ;<br />

⎝ 2x 1 4x 2 0 ⎠<br />

(x(1)^2 + 2*x(2)^2 - 9)<br />

(x(1) ( - 3*x(2)^2 + x(3)^2) ) ];<br />

∂f 3 ∂f 3 ∂f 3 1 −6x 2 2x 3<br />

∂x 1 ∂x 2 ∂x 3<br />

» x0=[1 1 1]; es=1.e-6; maxit=100;<br />

iter.nr. x0(1) x0(2) x0(3) paklaida<br />

0 1 1 1<br />

1.0000 1.6667 2.1667 4.6667 3.9051<br />

2.0000 1.5641 1.8407 3.2207 1.4858<br />

3.0000 1.5616 1.8115 2.8959 0.3261<br />

4.0000 1.5616 1.8113 2.8777 0.01820182<br />

5.0000 1.5616 1.8113 2.8776 0.0001<br />

6.0000 1.5616 1.8113 2.8776 0.0000<br />

Niutono metodas konverguoja<br />

Skaitiniai metodai (MIF VU) Netiesinių lygčių sistemų <strong>sprendimas</strong> 32 / 36


Niutono metodas<br />

Niutono-Rafsono metodas<br />

Niutono metodas<br />

Įšaldytasis Niutono metodas<br />

Iteracinis procesas<br />

J(x k ) xk+1 − x k<br />

τ k<br />

= −f (x k ).<br />

Iteracinis parametras yra minimumo uždavinio sprendinys<br />

min ‖f (x k − τJ(x k ) −1 f (x k ))‖ = ‖f (x k − τ k J(x k ) −1 f (x k ))‖.<br />

τ<br />

Šį uždavinį galima išspręsti ir netiksliai:<br />

min ‖f (x k+1 )‖ ‖f (x k )‖.<br />

τ<br />

Metodas konverguoja platesnėje pradinių artinių aibėje.<br />

Iteracinis procesas<br />

x k+j = x k+j−1 − J(x k ) −1 f (x k+j−1 ), j = 1, . . . , m.<br />

Jakobio matrica perskaičiuojama kas m-ąją iteraciją (n 2<br />

dalinių išvestinių).<br />

Metodas konverguoja lėčiau.<br />

Jei f (x) sudėtingo pavidalo vietoj dalinių išvestinių galima<br />

naudoti baigtinius skirtumus<br />

J ij (x k ) = f i(x k 1 , · · · , x k<br />

j + h, · · · , x k n ) − f i (x k 1 , · · · , x k n )<br />

h<br />

Skaitiniai metodai (MIF VU) Netiesinių lygčių sistemų <strong>sprendimas</strong> 33 / 36<br />

Skaitiniai metodai (MIF VU) Netiesinių lygčių sistemų <strong>sprendimas</strong> 34 / 36<br />

Niutono metodas<br />

Netiesiniai iteraciniai metodai<br />

Paprastųjų iteracijų (Jakobio) metodo apibendrinimas<br />

f 1 (x k+1<br />

1 , x2 k, · · · , x n k ) = 0<br />

f 2 (x1 k, x k+1<br />

2 , · · · , xn k ) = 0<br />

· · ·<br />

f n (x1 k, x 2 k, · · · , x n k+1 ) = 0<br />

Skaičiuojant vieną artinį reikia išspręsti n nepriklausomų netiesinių<br />

lygčių.<br />

Zeidelio metodo apibendrinimas<br />

f 1 (x k+1<br />

1 , x2 k, · · · , x n k ) = 0<br />

f 2 (x k+1<br />

1 , x k+1<br />

2 , · · · , xn k ) = 0<br />

· · ·<br />

f n (x k+1<br />

1 , x k+1<br />

2 , · · · , xn k+1 ) = 0<br />

Kiekvienoje lygtyje naudosime jau apskaičiuotas artinio<br />

komponentes.<br />

Skaitiniai metodai (MIF VU) Netiesinių lygčių sistemų <strong>sprendimas</strong> 35 / 36<br />

Niutono metodas<br />

Netiesiniai iteraciniai metodai<br />

Sistemos suskaldymas mažesnės eiles blokais<br />

Pvz., dviejų poromis susijusių nežinomųjų atveju:<br />

f 1 (x k+1<br />

1 , x k+1<br />

f 2 (x k+1<br />

1 , x k+1<br />

2 , x3 k, x 4 k, · · · , x n k ) = 0<br />

2 , x3 k, x 4 k, · · · , x n k ) = 0<br />

f 3 (x k+1<br />

1 , x k+1<br />

2 , x k+1<br />

3 , x k+1<br />

4 , x5 k, · · · , x n k ) = 0<br />

f 4 (x k+1<br />

1 , x k+1<br />

2 , x k+1<br />

3 , x k+1<br />

4 , x5 k, · · · , x n k ) = 0<br />

· · ·<br />

f n (x k+1<br />

1 , x k+1<br />

2 , x k+1<br />

3 , x k+1<br />

4 , x k+1<br />

5 , · · · , xn k+1 ) = 0<br />

Sprendžiama 1-oji lygtis + 2-oji lygtis,<br />

po to su jau apskaičiuotuomis artinio komponentėmis x 1 ir x 2 3-oji<br />

lygtis + 4-oji lygtis<br />

ir t.t.<br />

Skaitiniai metodai (MIF VU) Netiesinių lygčių sistemų <strong>sprendimas</strong> 36 / 36

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!