Top Banner
34

Heged¶s Dávid Nemlineáris …...Bevezetés Az alkalmazott matematika számos területén (pl. zika, robotika, irányítástechnika) sokszor találkozhatunk olyan problémákkal,

Jan 20, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Heged¶s Dávid Nemlineáris …...Bevezetés Az alkalmazott matematika számos területén (pl. zika, robotika, irányítástechnika) sokszor találkozhatunk olyan problémákkal,

Eötvös Loránd Tudományegyetem

Természettudományi Kar

Heged¶s Dávid

Nemlineáris egyenletrendszereknumerikus megoldása

BSc Szakdolgozat

Témavezet®:

Dr. Gergó Lajos

Numerikus Analízis Tanszék

Budapest, 2014

Page 2: Heged¶s Dávid Nemlineáris …...Bevezetés Az alkalmazott matematika számos területén (pl. zika, robotika, irányítástechnika) sokszor találkozhatunk olyan problémákkal,

Köszönetnyilvánítás

Szeretném megköszönni Dr. Gergó Lajos tanár úrnak, hogy elvállalta a konzulensi

feladatkört, valamint ötleteivel, tanácsaival nagy mértékben segítette a munkámat.

Köszönettel tartozom a családomnak és a barátaimnak, akik kitartóan támogattak

az egyetemi éveim alatt.

2

Page 3: Heged¶s Dávid Nemlineáris …...Bevezetés Az alkalmazott matematika számos területén (pl. zika, robotika, irányítástechnika) sokszor találkozhatunk olyan problémákkal,

Tartalomjegyzék

1. Nemlineáris egyenletek numerikus megoldása 5

1.1. A Newton-módszer . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.1.1. Konvergencia tétel . . . . . . . . . . . . . . . . . . . . . . . . 6

1.2. A csillapított Newton-módszer . . . . . . . . . . . . . . . . . . . . . . 8

1.3. A szel®módszer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

1.4. Monoton konvergencia . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2. Nemlineáris egyenletrendszerek numerikus megoldása 12

2.1. A többdimenziós Newton-módszer . . . . . . . . . . . . . . . . . . . . 12

2.1.1. Konvergencia tételek . . . . . . . . . . . . . . . . . . . . . . . 14

2.2. A csillapított Newton-módszer algoritmusa . . . . . . . . . . . . . . . 19

2.3. A Broyden-módszer . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.4. A folytatás módszere . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

2.5. Alkalmazások . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3. Útmutatás a programok használatához 33

Irodalomjegyzék 34

3

Page 4: Heged¶s Dávid Nemlineáris …...Bevezetés Az alkalmazott matematika számos területén (pl. zika, robotika, irányítástechnika) sokszor találkozhatunk olyan problémákkal,

Bevezetés

Az alkalmazott matematika számos területén (pl. �zika, robotika, irányítástechnika)

sokszor találkozhatunk olyan problémákkal, amelyekben több változó szerepel és

közöttük több összefüggés is fennáll. Ha a változók legfeljebb az els® hatványon sze-

repelnek, akkor lineáris egyenletrendszert kapunk, azonban a természettudományos,

technológiai és gazdasági folyamatok matematikai modelljei sokszor nemlineárisak,

tehát magasabb hatványkitev®k is lehetnek. Sok esetben arra vagyunk kíváncsiak,

hogy milyen feltételek mellett lesz a megadott függvényünk nulla. Ekkor az f(x) = 0

nemlineáris egyenletrendszer megoldásait közelíthetjük különböz® numerikus mód-

szerekkel. A szakdolgozatomban ezt a feladatot a Newton-módszerrel és annak vál-

tozataival fogom megoldani. Ezen iterációs módszereknek az az el®nye, hogy gyor-

sabban mint lineárisan konvergálnak, viszont általában nem minden kezd®vektorra.

El®fordulhat, hogy már a futtatáshoz szükséges információk megszerzése is nehézkes

(kezd®pont, derivált), ekkor csillapítással vagy a Broyden-módszerrel próbálkozha-

tunk. Magasabb dimenzióban fontos a konvergencia globalizálása akár a futási id®

kárára is, ezt fogjuk látni a folytatás módszerénél. A dolgozat végén alkalmazásokat

tekinthet meg az Olvasó, melyekhez MATLAB segítségével készítettem programokat.

A programok M-fájljai a CD-mellékleten találhatók, az utolsó fejezetben segítséget

nyújtok a használatukhoz.

4

Page 5: Heged¶s Dávid Nemlineáris …...Bevezetés Az alkalmazott matematika számos területén (pl. zika, robotika, irányítástechnika) sokszor találkozhatunk olyan problémákkal,

1. fejezet

Nemlineáris egyenletek numerikus

megoldása

1.1. A Newton-módszer

Legyen f : R → R függvény, amely folytonos az [a, b] intervallumon, a < b. Ekkor

ha f el®jelet vált a és b között, akkor az

f(x) = 0 (1.1)

egyenletnek van gyöke [a, b]-ben. A Newton-módszer egy olyan iterációs eljárás,

melynek során egy x0 kezd®pontból szeretnénk közelíteni (1.1) egyenlet egyik gyö-

két. Ehhez keressünk egy δx javítást, melyre x0 +δx már gyök lesz. Tegyük fel, hogy

f(x) kétszer folytonosan di�erenciálható és tekintsük a Taylor-sorát:

0 = f(x0 + δx) = f(x0) + f ′(x0)δx+O(δx2).

Legyen x1 := x0 + δx és hanyagoljuk el a másodrend¶ tagot. Ekkor a

0 = f(x0) + f ′(x0)(x1 − x0) (1.2)

egyenlet adódik. Feltéve, hogy f ′(x0) 6= 0, x1 átrendezéssel kiszámítható:

x1 = x0 −f(x0)

f ′(x0).

Értelemszer¶en folytatva, adott x0 esetén a következ® iterációs eljárást kapjuk:

xk+1 = xk − (f ′(xk))−1f(xk), k = 0, 1, . . . . (1.3)

5

Page 6: Heged¶s Dávid Nemlineáris …...Bevezetés Az alkalmazott matematika számos területén (pl. zika, robotika, irányítástechnika) sokszor találkozhatunk olyan problémákkal,

Egy dimenziós esetben jól látható a Newton módszer mértani jelentése. Húzzunk a

függvény f(x0) pontjához érint®t. Az érint® egyenlete a következ®:

y = f(x0) + f ′(x0)(x− x0).

Bizonyos feltételek mellett azt várjuk, hogy ennek az egyenesnek a gyöke az f gyö-

kének egy jobb közelítése lesz. Ha az érint® zérushelyét x1 jelöli, akkor

0 = f(x0) + f ′(x0)(x1 − x0),

ez pedig megegyezik az (1.2) egyenlettel, tehát az eljárást folytatva következik az

(1.3) iteráció.

1.1.1. De�níció. Tegyük fel, hogy egy iterációs eljárás az xk ∈ Rn sorozatot állítja

el®, ez a sorozat konvergál a ‖.‖ normában, limxk = x∗, x0 6= x∗. Azt mondjuk,

hogy az xk sorozat x0-ból kiindulva, (legalább) κ-rendben konvergál, ha κ ≥ 1, és van

olyan nemnegatív C konstans, hogy érvényes

‖xk+1 − x∗‖ 6 C‖xk − x∗‖κ, k = 0, 1, . . . .

A κ > 1 renddel való konvergenciát szuperlineáris konvergenciának nevezzük.

1.1.2. De�níció. Egy iterációs eljárásról akkor mondjuk, hogy lokálisan konvergál

az x∗ megoldáshoz, ha van olyan pozitív δ sugarú G(x∗, δ) gömb, amely a következ®

tulajdonságokkal rendelkezik: tetsz®leges x0 ∈ G(x∗, δ) esetén az iteráció által el®-

állított xk sorozat konvergál x∗-hoz; G(x∗, δ)-n kívül viszont van olyan x0 vektor,

amelyre ez nem igaz. G(x∗, δ) az x∗ vonzási gömbje.

1.1.3. De�níció. Egy iterációs eljárásról akkor mondjuk, hogy globálisan konvergál

az x∗ megoldáshoz, ha tetsz®leges x0 kezd®vektor esetén az iteráció által el®állított

xk sorozat konvergál x∗-hoz.

1.1.1. Konvergencia tétel

1.1.4. Tétel. (A Newton-módszer konvergenciája) Legyen I := (a, b),

f : I → R olyan függvény, hogy a deriváltja Lipschitz-folytonos I-ben L Lipschitz

állandóval, azaz: |f ′(x)− f ′(y)| 6 L|x− y| ∀x, y ∈ I ;

6

Page 7: Heged¶s Dávid Nemlineáris …...Bevezetés Az alkalmazott matematika számos területén (pl. zika, robotika, irányítástechnika) sokszor találkozhatunk olyan problémákkal,

továbbá létezzék egy α > 0, melyre |f ′(x)| ≥ 1α, ∀x ∈ I.

Ha az f(x) = 0 egyenletnek I-ben van x∗ gyöke, akkor létezik olyan δ > 0, hogy

x0 ∈ I-b®l és |x0 − x∗| < δ-ból következik, hogy:

1. a (1.3) sorozat jól de�niált;

2. limk→∞ xk = x∗;

3. |xk+1 − x∗| 6 C|xk − x∗|2, C := Lα2.

Bizonyítás. Kezdetben legyen k = 0, fk := f(xk). A feltételb®l következik, hogy

f ′k := f ′(xk) 6= 0. Végezzük el a következ® átalakításokat:

xk+1−x∗ = xk−x∗−(f ′k)−1fk = xk−x∗−(f ′k)

−1(fk−f∗) = −(f ′k)−1(fk−f∗−f ′k(xk−x∗)),

ahol f∗ := f(x∗) = 0. Legyen r(xk, x∗) := (fk − f∗ − f ′k(xk − x∗), és külön becsüljük

általános x, y ∈ I-re. A Newton-Leibniz formula felhasználásával az

r(x, y) = f(x)− f(y)− f ′(x)(x− y) =

∫ x

y

(f ′(z)− f ′(x)

)dz

azonosság adódik. A z = y + t(x− y) helyettesítéssel következik, hogy

r(x, y) = (x− y)

∫ 1

0

(f ′(y + t(x− y))− f ′(x)

)dt

(t ∈ [0, 1]

).

Most használjuk ki, hogy f ′ Lipschitz-folytonos:

|r(x, y)| 6 L(x− y)2∫ 1

0

(1− t)dt =L

2(x− y)2.

Ezt a becslést, valamint az |f ′k| ≥ 1αfeltételt felhasználva kapjuk a következ®t:

|xk+1 − x∗| 6Lα

2|xk − x∗|2.

A konvergencia belátásához válasszunk olyan |xk − x∗| 6 δ-t, hogy xk ∈ I és

Lα|xk − x∗|2

6 q < 1

teljesüljön, hiszen ekkor igaz a következ®:

|xk+1 − x∗| 6 q|xk − x∗| 6 |xk − x∗|, k = 0, 1, . . . .

7

Page 8: Heged¶s Dávid Nemlineáris …...Bevezetés Az alkalmazott matematika számos területén (pl. zika, robotika, irányítástechnika) sokszor találkozhatunk olyan problémákkal,

Alkalmas δ-val elérhetjük, hogy xk+1 ∈ I. Ilyenkor már xk+2 is de�niálva van, és

|xk+2 − x∗| 6Lα

2|xk+1 − x∗|2 6 q|xk+1 − x∗| 6 q2|xk − x∗| 6 |xk − x∗| 6 δ,

tehát xk+2 ∈ I. Folytatva az eljárást láthatjuk, hogy ez pont a konvergenciát jelenti.

Az (1.1.4) tételben látjuk, hogy a Newton-módszer másodrendben (másnéven négy-

zetesen vagy kvadratikusan) konvergens. Továbbá az is kiderül, hogy ehhez x0 elég

közel kell legyen x∗-hoz, tehát (általában) csak lokálisan konvergens. A kés®bbiekben

lesz még szó szuperlineárisan konvergens módszer �globalizálásáról�.

1.2. A csillapított Newton-módszer

A Newton-módszer alkalmazása során különböz® problémák merülhetnek fel. Pél-

dául, ha a kezd®pontban a függvény deriváltja nulla, akkor nem tudjuk meghatározni

a következ® pontot. Ha pedig a választott kezd®pont nincs elég közel a gyökhöz, ak-

kor el®fordulhat, hogy az iteráció lassabban vagy egyáltalán nem fog konvergálni,

esetleg végtelen ciklusba kerül.

A továbbiakban azt az esetet fogom megvizsgálni, amikor x∗ többszörös gyök. Ek-

kor ugyanis f ′(x∗) = 0, és az ilyen esetet eddig kizártuk a tárgyalásból. Legyen f

elegend®en sokszor di�erenciálható, és rendelkezzen t-szeres gyökkel x∗-ban, t ≥ 1.

Ekkor Taylor-sorfejtésének eleje a következ®:

f(x) = (x− x∗)t[

1

t!f (t)(x∗) +

x− x∗(t+ 1)!

f (t+1)(x∗) + . . .

], f (t)(x∗) 6= 0.

Legyen ek := xk − x∗. Ekkor az alábbi egyenleteket kapjuk:

f(xk) =(ek)

t

t!

[f (t)(x∗) +

ekt+ 1

f (t+1)(x∗) +O(e2k)

],

f ′(xk) =(ek)

t−1

(t− 1)!

[f (t)(x∗) +

ektf (t+1)(x∗) +O(e2k)

].

Ezek felhasználásával az ek+1 = ek −f(xk)

f ′(x(k))-ból elegend®en kicsi ek-ra következik,

hogy

ek+1 = ek −ekt

[f (t)(x∗) +

ekt+ 1

f (t+1)(x∗) +O(e2k)

]∗

∗ f (t)(x∗)−1[1− ek

tf (t)(x∗)f (t+1)(x∗) +O(e2k)

],

8

Page 9: Heged¶s Dávid Nemlineáris …...Bevezetés Az alkalmazott matematika számos területén (pl. zika, robotika, irányítástechnika) sokszor találkozhatunk olyan problémákkal,

,mert[1 +

ektf (t)(x∗)

f (t+1)(x∗) +O(e2k)

]−1=

[1− ek

tf (t)(x∗)f (t+1)(x∗) +O(e2k)

].

Tehát:

ek+1 = ek −ek

tf (t)(x∗)

[f (t)(x∗)−

ekt(t+ 1)

f (t+1)(x∗) +O(e2k)

]=

=

(1− 1

t

)ek + e2k

f (t+1)(x∗)

t2(t+ 1)f (t)(x∗)+O(e3k).

Láthatjuk, hogy t=1-re négyzetes a konvergencia, azaz a klasszikus Newton-módszer

hajtódik végre. Viszont ha t > 1, akkor csak els® rendben, vagyis lineárisan konver-

gens.

Ha t ismert, akkor a Newton eljárás következ® módosítása biztosítja újra a négyzetes

konvergenciát:

x0 adott, xk+1 = xk − t(f ′(xk))−1f(xk), k = 0, 1, . . . .

Tehát ebben az esetben az eredeti Newton-lépést hosszabbítani kellett ahhoz, hogy

javuljon a konvergencia. Általános esetben viszont fordítva érdemes eljárni: t < 1

esetén ugyanis a Newton-módszer lokális konvergenciáját globálissá terjeszthetjük

ki, ugyanakkor a konvergencia sebessége csökken. Ezt nevezzük csillapított Newton-

módszernek. A gyakorlatban ez az eljárás általában eléri azt a gyök-közelítést, ame-

lyet a klasszikus módszernek adtunk meg, onnantól kezdve pedig t = 1 teljesül.

1.3. A szel®módszer

A Newton-módszer másik gondja a derivált kiszámítása, amely fokozottan jelent-

kezik egyenletrendszerek esetében. Ez nagy jelent®séggel bír, hiszen az alkalmazás

során el®fordulhat, hogy a deriváltfüggvény nem áll a rendelkezésünkre, nem tudjuk

kiszámítani, esetleg f -re nem is létezik zárt képlet. A feladatunk tehát az, hogy ki-

küszöböljük az iterációs képletb®l a deriváltat, és helyettesítsük annak valamilyen

közelítésével. Erre egy lehet®ség a di�erenciahányadossal való helyettesítés:

f ′(xk) ≈f(xk + h)− f(xk)

h=: Ak

9

Page 10: Heged¶s Dávid Nemlineáris …...Bevezetés Az alkalmazott matematika számos területén (pl. zika, robotika, irányítástechnika) sokszor találkozhatunk olyan problémákkal,

Így az iterációt a következ® alakban írhatjuk fel:

x0 adott, xk+1 = xk −f(xk)

Ak, k = 0, 1, . . . .

Amennyiben f kétszer folytonosan di�erenciálható (ezzel némileg megszorítva a kon-

vergencia tétel feltételeit), akkor a di�erenciaképlet els® renddel approximálja a de-

riváltat.

Legyen M2 := max[a,b]|f ′′(x)|. Ekkor tehát:

|f ′(xk)− Ak| 61

2M2|h|.

Belátható, hogy létezik olyan h-kiválasztás, hogy az iteráció konvergenciája továbbra

is másodrend¶ marad, annak ellenére, hogy x∗ ismeretlen.

Egy másik lehet®ség, ha az f ′(xk)-t az [xk−1, xk]f osztott di�erenciával helyettesít-

jük. Ennek el®nye, hogy ebben az esetben nincs szükség külön f -érték kiszámítására:

x0 és x1 6= x0 adott, xk+1 = xk −f(xk)

[xk−1, xk]f, k = 0, 1, . . . .

1.3.1. Tétel. (A szel®módszer konvergenciája) Teljesüljenek a Newton-módszer

konvergencia tételének feltételei, legyen f ∈ C2[a, b]. Ekkor a szel®módszer vagy véges

k-ra megáll az f(x) = 0 megoldásán vagy (lokálisan) konvergens1

2(1 +√

5) renddel.

1.3.2. Megjegyzés. Vegyük észre, hogy a Newton-módszer egy függvényértéket

és egy deriváltértéket követel meg egy iterációs lépésben. Ugyanakkor a szel®mód-

szer esetében csak egyetlen függvénykiértékelésre van szükségünk. Feltehetjük, hogy

ugyanannyi id®be kerül kiszámítani f -et és f ′-t. Ekkor egy Newton-lépés alatt két

lépést lehet végrehajtani a szel®módszerrel, tehát az utóbbi egyértelm¶en gyorsabb

eljárás.

1.4. Monoton konvergencia

Igazolható, hogy létezik olyan függvényosztály (a konvex vagy konkáv függvények

osztálya), amelyre a Newton-módszer monoton és globális konvergenciája egyaránt

teljesül. Ekkor nincs szükségünk arra, hogy x0 elég jó közelítés legyen, és arra sem,

hogy csillapított módszert használjunk.

10

Page 11: Heged¶s Dávid Nemlineáris …...Bevezetés Az alkalmazott matematika számos területén (pl. zika, robotika, irányítástechnika) sokszor találkozhatunk olyan problémákkal,

1.4.1. Tétel. Legyen f ∈ C2[a, b], f ′(x) 6= 0 és f ′′(x) 6= 0 az [a, b] intervallumon,

amely végtelen is lehet. Létezzen x∗ ∈ (a, b), melyre f(x∗) = 0. Ekkor az (1.3)-ban

de�niált iterációban xk → x∗ monoton módon, ha f(x0)f′′(x0) > 0 és x0 ∈ [a, b].

1.4.2. Megjegyzés. A tétel lényeges feltételei az f ′(x) 6= 0 és az f ′′(x) 6= 0.

Ugyanis, ha megengednénk, hogy az f ′(x) = 0 legyen valamely x-ekre, akkor ezeken

a helyeken a függvényhez húzott érint®k párhuzamosak lennének az x-tengellyel, te-

hát az iteráció nem tudna továbblépni. Ha pedig az f ′′(x) 6= 0 feltétel nem teljesül

(azaz sérül a konvexitás vagy a konkávitás), akkor {xk} sorozat bonyolultan visel-

kedhet, esetleg végtelen ciklusba kerülhet.

Kevésbé fontos az f(x0)f′′(x0) > 0 feltétel, mivel a nem teljesülése esetén is mono-

ton lesz a konvergencia x1-t®l kezdve.

Lássunk erre egy példát: legyen f ′′(x) > 0 és f(x0) < 0. Ekkor f ′(x) > 0 és igazak

az alábbiak:

f(x) ≥ f(x0) + f ′(x0)(x− x0),

f(x1) ≥ f(x0) + f ′(x0)(x1 − x0) = 0.

Tehát x0 < x∗ 6 x1, azaz x1-re már teljesül az f(x1)f′′(x1) > 0 feltétel.

11

Page 12: Heged¶s Dávid Nemlineáris …...Bevezetés Az alkalmazott matematika számos területén (pl. zika, robotika, irányítástechnika) sokszor találkozhatunk olyan problémákkal,

2. fejezet

Nemlineáris egyenletrendszerek

numerikus megoldása

2.1. A többdimenziós Newton-módszer

Nemlineáris egyenletrendszerek megoldása gyakran bizonytalan kimenetel¶, fordu-

latokban gazdag vállalkozás. Megoldásukra szinte kizárólag a Newton-módszer vál-

tozatait használjuk, mivel már az els® deriváltak meghatározása se mindig könny¶

feladat, továbbá a magasabbrend¶ módszerek még az egydimenziós esetben sem fel-

tétlenül hatékonyabbak.

Ebben a fejezetben a fels® indexek nem hatványkitev®ket, hanem vektorok kompo-

nenseit fogják jelölni. Legyen f : Rn → Rn.

A feladat a következ®: keressük az

f(x) =

f1(x

1, . . . , xn)...

fn(x1, . . . , xn)

= 0 (2.1)

rendszernek egy megoldását. Tegyük fel, hogy f di�erenciálható, x∗ az f egy meg-

oldása és x0 az x∗-nak egy közelítése. Ekkor a másodrend¶ tagok elhanyagolásával

kapott Taylor-polinom a következ®:

0 = f(x∗) ≈ f(x0) +Df(x0)(x∗ − x0),

12

Page 13: Heged¶s Dávid Nemlineáris …...Bevezetés Az alkalmazott matematika számos területén (pl. zika, robotika, irányítástechnika) sokszor találkozhatunk olyan problémákkal,

,ahol

Df(x0) =

∂f1∂x1

. . .∂f1∂xn

......

∂fn∂x1

. . .∂fn∂xn

x=x0

, x∗ − x0 =

x1∗ − x10

...

xn∗ − xn0

.Ha a Df(x0) Jacobi-mátrix reguláris, akkor az

f(x0) +Df(x0)(x1 − x0) = 0

egyenletb®l x1-et kifejezve a következ®t kapjuk:

x1 = x0 − (Df(x0))−1f(x0),

,ahol (bizonyos feltételek teljesülése mellett) x1 az x0 javítását adja, tehát jobb

közelítése lesz x∗-nak. Így a (2.1) egyenletrendszer megoldására szolgáló iterációs

eljárás:

x0 adott, xk+1 = xk − (Df(xk))−1f(xk), k = 0, 1, 2, . . . .

2.1.1. Megjegyzés. Ha a Df(x0) Jacobi-mátrix szinguláris, akkor más x0 kezd®-

vektort kell megadnunk.

2.1.2. Megjegyzés. Valójában az iteráció minden lépésében egy lineáris egyenlet-

rendszert oldunk meg, ezért célszer¶ a következ® alakban megadni:

x0 adott, Df(xk)δxk = −f(xk), xk+1 = xk + δxk, k = 0, 1, 2, . . . .

Láthatjuk, hogy ilyenkor az inverz mátrixot nem számítjuk ki, helyette alkalmazzuk

például a Gauss-elimináció megfelel® változatát.

A Newton-módszer minden lépésében meg kell határoznunk a Jacobi-mátrixot, vagyis

n2 függvényértéket. Ez problémát jelenthet az alkalmazások során, ezért (az egydi-

menziós eset mintájára) di�erenciaképletekkel közelíthetjük a deriváltakat. Többdi-

menziós esetben diszkretizált Newton-módszerr®l beszélünk, ha minden k. lépésben

az Df(xk) Jacobi-mátrix elemeit az alábbi els®rend¶ közelítéssel számoljuk ki:

∂fi∂xj≈ fi(xk + hijej)− fi(xk)

hij, i, j = 1, . . . , n, (2.2)

13

Page 14: Heged¶s Dávid Nemlineáris …...Bevezetés Az alkalmazott matematika számos területén (pl. zika, robotika, irányítástechnika) sokszor találkozhatunk olyan problémákkal,

, ahol ej a j. koordináta-egységvektor és hij alkalmas nemnulla lépéstávolság. Könnyen

láthatjuk, hogy ilyenkor 2n2 függvényérték meghatározására van szükségünk, tehát

romlik a futási id®. Gyakori eset azonban, hogy a nemlineáris egyenletrendszerekhez

tartozó Jacobi-mátrix ritkamátrix, ekkor pedig a közelítés m¶veletigénye jelent®s

mértékben csökkenthet®. Például ha a mátrix tridiagonális, akkor csupán 3n − 2

nemzérus elem van, tehát ennyi függvényérték kiszámítása elegend®.

2.1.1. Konvergencia tételek

A következ®kben belátom, hogy a többdimenziós Newton-módszer kvadratikusan

konvergens. Ennek a speciális esetét már láttuk az els® fejezetben. Mindenekel®tt

következzen két de�níció és egy lemma, melyre szükség lesz a bizonyítás során.

2.1.3. De�níció. Legyen f : Rn → Rn, és tekintsük az f(x) = 0 egyenletrendszert.

Az f függvényr®l azt mondjuk, hogy di�erenciálható egy x0 ∈ Rn pontban, ha létezik

A : Rn → Rn lineáris operátor, melyre

limx→x0

‖f(x)− f(x0)− A(x− x0)‖‖x− x0‖

= 0,

,ahol ‖.‖ norma Rn-en. Esetünkben A megegyezik a Df(x0) Jacobi-mátrixszal.

2.1.4. De�níció. Legyen C ⊆ Rn tartomány. Azt mondjuk, hogy C konvex, ha

minden x, y ∈ C-re és t ∈ [0, 1]-re az [x, y] := {z = tx + (1 − t)y} halmaz is eleme

C-nek.(Tehát x és y összeköt® szakasza benne van C-ben.)

2.1.5. Lemma. Legyen C0 ⊆ Rn konvex tartomány, f : Rn → Rn. Ha f di�erenci-

álható C0-on és létezik γ, melyre

‖Df(x)−Df(y)‖ 6 γ‖x− y‖ (∀x, y ∈ C0)

teljesül, akkor minden x, y ∈ C0-ra igaz a következ® becslés:

‖f(x)− f(y)−Df(y)(x− y)‖ 6 γ

2‖x− y‖2.

Bizonyítás. De�niáljuk a ϕ : [0, 1]→ Rn függvényt a következ®képpen:

ϕ(t) := f(y + t(x− y))

14

Page 15: Heged¶s Dávid Nemlineáris …...Bevezetés Az alkalmazott matematika számos területén (pl. zika, robotika, irányítástechnika) sokszor találkozhatunk olyan problémákkal,

Ekkor ϕ di�erenciálható minden t ∈ [0, 1] helyen (x, y ∈ C0). Most határozzuk meg

ϕ deriváltját a láncszabály alkalmazásával:

ϕ′(t) = Df(y + t(x− y))(x− y).

A lemma feltételét felhasználva a következ® egyenl®tlenség írhaó fel:

‖ϕ′(t)− ϕ′(0)‖ = ‖(Df(y + t(x− y))−Df(y))(x− y)‖ 6

6 ‖Df(y + t(x− y))−Df(y)‖‖x− y‖ 6

6 γt‖x− y‖2 (0 6 t 6 1).

Vezessünk be egy újabb jelölést! Legyen:

∆ := f(x)− f(y)−Df(y)(x− y) = ϕ(1)− ϕ(0)− ϕ′(0) =

=

∫ 1

0

(ϕ′(t)− ϕ′(0))dt.

Mindezek felhasználásával könnyen adódik a lemma állítása:

‖∆‖ = ‖∫ 1

0

(ϕ′(t)− ϕ′(0))dt‖ 6∫ 1

0

‖ϕ′(t)− ϕ′(0)‖dt 6

6 γ‖x− y‖2∫ 1

0

t dt =γ

2‖x− y‖2.

2.1.6. Tétel. Legyen C ⊆ Rn nyílt halmaz, C0 ⊆ C egy konvex halmaz, valamint

f : C → Rn függvény, amely di�erenciálható minden x ∈ C0 pontban és folytonos

C-n. Legyen x0 ∈ C0, továbbá r, α, β, γ, h pozitív konstansok és teljesüljenek az

alábbiak:

Sr(x0) := {x : ‖x− x0‖ < r} ⊆ C0,

h :=αβγ

2< 1,

r :=α

1− h,

és f(x)-re legyenek igazak a következ® tulajdonságok:

a) ‖Df(x)−Df(y)‖ 6 γ‖x− y‖ (∀x, y ∈ C0)

b) Df(x)−1 létezik és teljesül, hogy ‖Df(x)−1‖ 6 β, ∀x ∈ C0-ra

15

Page 16: Heged¶s Dávid Nemlineáris …...Bevezetés Az alkalmazott matematika számos területén (pl. zika, robotika, irányítástechnika) sokszor találkozhatunk olyan problémákkal,

c) ‖Df(x0)−1f(x0)‖ 6 α.

Ekkor

1. az alábbi sorozat jól de�niált:

x0 adott, xk+1 = xk −Df(xk)−1f(xk), k = 0, 1, . . .

és xk ∈ Sr(x0) minden k ≥ 0-ra,

2. limk→∞ xk = x∗, x∗ ∈ Sr(x0) és f(x∗) = 0,

3. minden k ≥ 0-ra

‖xk − x∗‖ 6 αh2

k−1

1− h2k.

Mivel 0 < h < 1, ezért a Newton-módszer legalább másodrendben konvergens.

Bizonyítás. (1.): A (b) feltétel szerint minden x ∈ C0-ra létezik a Df(x)−1, ezért

az xk+1 sorozat jól de�niált, ha xk ∈ Sr(x0) minden k ≥ 0-ra. Ez teljesül k = 0-ra

és (c)-szerint k = 1-re. Teljes indukciót alkalmazunk: tegyük fel, hogy k-ig igaz az

állítás, tehát xi ∈ Sr(x0),∀i = 2, . . . , k. Be kell látnunk, hogy xk+1 ∈ Sr(x0), ehheztekintsük (b)-t és a következ® egyenl®tlenséget:

‖xk+1 − xk‖ = ‖Df(xk)−1f(xk)‖ 6 β‖f(xk)‖ =

= β‖f(xk)− f(xk−1)−Df(xk−1)(xk − xk−1)‖,

,ahol de�níció szerint

f(xk−1) +Df(xk−1)(xk − xk−1) = 0. (2.3)

Most használjuk fel a (2.1.5)-ös lemmát:

‖xk+1 − xk‖ 6βγ

2‖xk − xk−1‖2.

Ezután vizsgáljuk meg a következ® becslést:

‖xk+1 − xk‖ 6 αh2k−1. (2.4)

Jól látható, hogy a (c) tulajdonság miatt ez teljesül k = 0-ra. Ismét teljes indukciót

alkalmazunk, feltesszük, hogy k-ig igaz és belátjuk, hogy k + 1-re is igaz marad:

‖xk+1 − xk‖ 6βγ

2‖xk − xk−1‖2 6

βγ

2α2h2

k−2 = αh2k−1.

16

Page 17: Heged¶s Dávid Nemlineáris …...Bevezetés Az alkalmazott matematika számos területén (pl. zika, robotika, irányítástechnika) sokszor találkozhatunk olyan problémákkal,

Felhasználva az el®bbi becslést azonnal adódik az (1.) állítás:

‖xk+1 − x0‖ 6 ‖xk+1 − xk‖+ ‖xk − xk−1‖+ . . .+ ‖x1 − x0‖ 6

6 α(1 + h+ h3 + h7 + . . .+ h2k−1) < α

1

1− h= r,

ami azt jelenti, hogy xk+1 ∈ Sr(x0).(2.): A (2.4) becslést felhasználva belátjuk, hogy {xk} egy Cauchy sorozat, tehát

hogy ∀ε > 0-hoz ∃nε, hogy ∀m ≥ n > nε-ra ‖xm − xn‖ < ε:

‖xm+1 − xn‖ 6 ‖xm+1 − xm‖+ ‖xm − xm−1‖+ . . .+ ‖xn+1 − xn‖ 6 (2.5)

6 αh2n−1(1 + h2

n

+ (h2n

)2 + . . .+ (h2n

)2(m−n)−1) <

αh2n−1

1− h2n< ε,

,mivel h ∈ (0, 1). Vegyük észre, hogy ez éppen a konvergenciát jelenti, vagyis létezik

x∗, hogy

limk→∞

xk = x∗ ∈ Sr(x0),

,ahol a tartalmazás (1.)-b®l következik.

Még azt kell megmutatni, hogy x∗ az f zérushelye Sr(x0)-ban. Mivel xk ∈ Sr(x0)

minden k ≥ 0-ra, valamint teljesül (a), ezért

‖Df(xk)−Df(x0)‖ 6 γ‖xk − x0‖ < γr

teljesül. De�niáljuk K-t a következ®képpen:

‖Df(xk)‖ 6 γr + ‖Df(x0)‖ =: K. (2.6)

Átrendezve a (2.3) egyenletet azt kapjuk, hogy

f(xk) = −Df(xk)(xk+1 − xk).

Ebb®l és (2.6)-ból mindkét oldal normáját véve

‖f(xk)‖ 6 K‖xk+1 − xk‖ → 0 (k →∞)

adódik, tehát:

limk→∞‖f(xk)‖ = 0.

Végezetül mivel f folytonos x∗-ban, ezért

limk→∞‖f(xk)‖ = ‖f(x∗)‖ = 0,

17

Page 18: Heged¶s Dávid Nemlineáris …...Bevezetés Az alkalmazott matematika számos területén (pl. zika, robotika, irányítástechnika) sokszor találkozhatunk olyan problémákkal,

vagyis x∗ az f zérushelye.

(3.): Ha (2.5)-ben m→∞, akkor az állítás azonnal látható:

limm→∞

‖xm − xn‖ = ‖x∗ − xn‖ 6αh2

n−1

1− h2n.

A feltételeket némileg er®sítve igazolható, hogy a x∗ az egyetlen zérushelye f -nek

Sr(x0)-ban. Err®l szól az alábbi tétel:

2.1.7. Tétel. (Newton-Kantorovich) Legyen C ⊆ Rn nyílt halmaz, C0 ⊆ C egy

konvex halmaz, valamint f : C → Rn függvény, amely folytonosan di�erenciálható

C0-on és teljesüljenek az alábbi feltételek:

a) ‖Df(x)−Df(y)‖ 6 γ‖x− y‖ (∀x, y ∈ C0),

b) ‖Df(x0)−1f(x0)‖ 6 α,

c) ‖Df(x)−1‖ 6 β ∀x ∈ C0.

Legyenek továbbá:

h := αβγ,

r1,2 := α1∓√

1− 2h

h.

Ha h 61

2és Sr1(x0) ⊂ C0, akkor az

xk+1 := xk −Df(xk)−1f(xk), k = 0, 1, . . .

módon de�niált sorozat Sr1(x0)-ban marad és az f egyetlen megoldásához konvergál

C0 ∩ Sr2(x0)-on.

18

Page 19: Heged¶s Dávid Nemlineáris …...Bevezetés Az alkalmazott matematika számos területén (pl. zika, robotika, irányítástechnika) sokszor találkozhatunk olyan problémákkal,

2.1.8. Megjegyzés. Többdimenziós esetben a Newton-módszer alkalmazása során

fontos a konvergencia globalizálása, például csillapítással, vagy a folytatás módsze-

rével. Ugyanis a dimenzió növekedésével együtt csökkennek a gyököket körülvev®

vonzási gömbök átmér®i. Ekkor a konvergencia sebessége csökken, viszont nem lesz

szükségünk arra, hogy �elég jó� kezd®vektort adjunk meg.

2.2. A csillapított Newton-módszer algoritmusa

A (2.1.6) tétel biztosítja számunkra, hogy amennyiben elég közeli x0 pontból indít-

juk az iterációt, úgy a Newton-módszer konvergálni fog az x∗ megoldáshoz. Annak

érdekében, hogy ne legyen szükség ilyen feltételre a kezd®vektor kiválasztásakor, glo-

balizálhatjuk a módszert. Erre egy lehet®ség a csillapított Newton-módszer alkalma-

zása, melyet már egydimenziós esetben láttunk az 1. fejezetben. Most következzen

az általános algoritmus.

Legyenek adottak az alábbiak:

a) x0: kezdeti vektor,

b) δx: maximális lépéstávolság (pl. annak a gömbnek a sugara, amelyben szerintünk

a gyök van),

c) maxit: az iterációk maximális száma,

d) ε: pontosság,

e) az f(x)-et és a Df(x)-et kiszámító eljárások,

f) a f®elemválasztásos LU-felbontás meghatározására szolgáló program (Ennek a

programnak az outputjai: L, U , sing, ahol az utóbbi egy logikai változó, mely

akkor igaz, ha a mátrix szinguláris).

19

Page 20: Heged¶s Dávid Nemlineáris …...Bevezetés Az alkalmazott matematika számos területén (pl. zika, robotika, irányítástechnika) sokszor találkozhatunk olyan problémákkal,

1. t := 1;

2. fk := f(x0), nfk := ‖fk‖∞, nf0 := nfk ;

3. while k < maxit do

4. if nfk 6 ε then

STOP (sikeres kiszállás), output: xk, nfk, k;

elseDfk := Df(xk), Dfk → [L,U, sing]

5. if sing=igaz then

STOP (sikertelen kiszállás), output: sing, xk, nfk;

elset := min(δx ∗ ‖Dfk‖∞/nfk, t)

6. if t < 10−6 then

STOP (sikertelen kiszállás), output: xk, nfk, k;

elseLUy := fk → y, l := 1, p := 0

7. while l < 10 doz := xk − t ∗ y, fz := f(z), nfz := ‖fz‖∞

8. if nfz < nfk thenk := k + 1, xk+1 := z, fk := fz, nfk := nfz

9. if l = 1 thent := min(1, t ∗ 1.5)

end

l := 10else

t := t/2, l := l + 1, p := p+ 1;

end

end

10. if p = 9 then

STOP (sikertelen kiszállás), output: xk, nfk, k, l;

end

end

end

end

end

STOP (k = maxit, sikertelen kiszállás), output: xk, nfk, k.

20

Page 21: Heged¶s Dávid Nemlineáris …...Bevezetés Az alkalmazott matematika számos területén (pl. zika, robotika, irányítástechnika) sokszor találkozhatunk olyan problémákkal,

Az algoritmusból való kilépést sikeresnek tekintjük, ha a 4. lépés feltétele teljesül.

Ekkor ugyanis az xk helyen a függvény normája elegend®en kicsi lesz, ami azt jelenti

a felhasználó számára, hogy megoldotta a nemlineáris egyenletrendszert.

Sikertelenségnek vesszük, ha:

• a Jacobi-mátrix LU-felbontását végz® program szingularitást tapasztal;

• a t értéke túlságosan kicsi lesz, ugyanis ekkor nagy mértékben lassul a konver-

gencia;

• az l-ciklusban a t csökkentése nem hoz eredményt (nem teljesül az ún. leeresz-

kedési kritérium);

• a k-ciklusban túl nagy az iterációk száma.

Az 5. lépésben érjük el azt, hogy a t 6 δx ∗ ‖Dfk‖∞nfk

teljesüljön. Ellenkez® esetben

ugyanis a Newton-lépés gyanusan nagy lenne, ellentmondva ezzel δx választásának.

Az l-ciklusban csökkentjük a t értékét, ha a már említett leereszkedési kritérium nem

teljesül. Ezen a ponton azt használjuk ki, hogy a keresett gyök egyben az ‖f(x)‖minimuma is, hiszen:

f(x) = 0 ⇐⇒ ‖f(x)‖ = 0.

Tehát, minden x vektor, amely lokális minimumhelye ‖f(x)‖-nak és f(x) = 0, az

globális minimumhelye is ‖f(x)‖-nak, valamint zérushelye f(x)-nek.

Amennyiben a kritérium teljesül, a lépést sikeresnek tekintjük és közelebb jutunk a

gyökhöz. Ha ez próbálkozás nélkül (l = 1) sikerül, akkor óvatosan növeljük t-t, amíg

el nem éri az 1 értéket.

21

Page 22: Heged¶s Dávid Nemlineáris …...Bevezetés Az alkalmazott matematika számos területén (pl. zika, robotika, irányítástechnika) sokszor találkozhatunk olyan problémákkal,

2.3. A Broyden-módszer

Nemlineáris rendszerek megoldása során gyakran el®fordul, hogy problémás a parciá-

lis deriváltak meghatározása. Ebben az esetben alkalmazhatjuk a Broyden-módszert,

amely a szel®módszer általánosítása. El®nye, hogy csak az f(xk) vektorokat használja

a Jacobi-mátrix közelítéséhez, ezek pedig egyébként is a rendelkezésünkre állnak. Az

iteráció els® lépésében megadjuk a Df(x) mátrixnak egy J0 közelítését. Ezt megte-

hetjük például (2.2) szerint, és így megkapjuk x1-et. Általános lépésben az alábbi

képletet használja a Broyden-módszer:

xk+1 = xk − J−1k fk, k = 1, 2, . . . ,

,ahol Jk := J(xk) és fk := f(xk). Ez az egydimenziós esetben a szel®módszert

eredményezi, ahol a deriváltat közelíthetjük osztott di�erenciával a következ®képpen:

(Jk =)f ′k :=fk − fk−1xk − xk−1

.

Ehhez hasonlót írunk fel magasabb dimenzióban is:

Jk :=fk − fk−1xk − xk−1

.

Ebb®l adódik az úgynevezett kvázi-Newton-egyenlet, amely n darab feltételt ad a

Jk meghatározásához:

Jk(xk − xk−1) = fk − fk−1 =: zk.

Azonban nekünk n2 feltételre lenne szükségünk, ezért még követeljük meg, hogy Jk

és Jk−1 csupán egy egyrangú mátrixszal különbözzenek egymástól. Ez formálisan így

fogalmazható meg:

(Jk − Jk−1)y = 0, ∀y ⊥ vk, vk := xk − xk−1.

Alkalmas uk-val ez a feltétel teljesül az alábbi egyenletben:

Jk − Jk−1 = ukvTk . (2.7)

Az uk vektor meghatározásához szorozzuk mindkét oldalt vk-val, majd rendezzük át

az egyelnetet:

(Jk − Jk−1)vk = uk‖vk‖2 =⇒ uk =(Jk − Jk−1)vk‖vk‖2

=zk − Jk−1vk‖vk‖2

.

A kapott uk-t (2.7)-be helyettesítve megkapjuk Jk-t, és így már mindent ismerünk

xk+1 kiszámításához, amely a keresett megoldás egy újabb közelítése.

22

Page 23: Heged¶s Dávid Nemlineáris …...Bevezetés Az alkalmazott matematika számos területén (pl. zika, robotika, irányítástechnika) sokszor találkozhatunk olyan problémákkal,

2.3.1. Megjegyzés. A gyakorlatban a módszer minden lépésében elkészítjük az

éppen aktuális Jacobi-mátrix QR-felbontását, vagy felírjuk az LU-felbontást és in-

vertálunk. Az el®bbi akkor el®nyös, ha a J rosszul kondícionált, különben az utóbbit

alkalmazzuk különösen akkor, ha J nagyméret¶ ritkamátrix.

2.3.2. Megjegyzés. A Broyden-módszer konvergenciarendje 1+1

2n. A lokális kon-

vergenciát próbálkozhatunk csillapítással globalizálni, de nincs garancia arra, hogy

elég kicsi t-re teljesülni fog a leereszkedési kritérium. Ha t többszörös csökkentése

sem hoz eredményt, akkor érdemes új közelítést adni Df -re.

2.4. A folytatás módszere

A (2.1.8)-as megjegyzésben láttuk, hogy a dimenziószám növekedésével egyre fon-

tosabb a Newton-módszer konvergenciájának globalizálása. Ezt ebben a részben a

folytatás módszerével fogjuk elérni, amely a csillapítás általánosítása. Az eljárás lé-

nyege, hogy az eredeti f(x) = 0 rendszerünkhöz hozzáveszünk egy t paramétert úgy,

hogy az alábbi két feltétel teljesüljön:

a) ha t = 0, akkor a megoldás ismert legyen;

b) ha t = 1, akkor az eredeti feladat megoldásához jussunk.

Ezt a következ® függvénnyel valósítjuk meg:

g(x, t) := f(x) + (t− 1)f(x0) = 0, x0 adott.

Így egy n + 1 dimenziós feladatot kapunk. Vegyük észre, hogy g(x0, 0) = f(x0) −f(x0) = 0, tehát t = t0 = 0 esetén a g zérushelye x0. Ezért a módszer els® lépésében

válasszuk x0-t kezd®vektornak, továbbá legyen t = t1 =1

k, ahol k elegend®en nagy.

(Amennyiben nem konvergál a Newton-módszer, úgy növekjük k-t.) Innen megkap-

juk az x1 vektort, melynek segítségével és t = t2 =2

k-val ki tudjuk számítani x2-t,

és így tovább. Az utolsó lépésben pedig g(xk−1, 1) = f(xk−1) = 0-t kapunk, ahol az

xk−1 az x∗-nak közelítése.

Igazolható, hogy bizonyos feltételek teljesülése esetén a g(x, t) függvénynek van x(t)

gyöke, minden elegend®en kicsi |t| értékre, továbbá x(t) minden t-re di�erenciálható

és eleget tesz a következ® di�erenciálegyenletnek:

f ′(x)dx

dt= −f(x0).

23

Page 24: Heged¶s Dávid Nemlineáris …...Bevezetés Az alkalmazott matematika számos területén (pl. zika, robotika, irányítástechnika) sokszor találkozhatunk olyan problémákkal,

Tehát adott x(0) = x0 esetén x(t) egyértelm¶en meghatározott. Ezzel visszavezettük

a feladatot egy közönséges di�erenciálegyenlet kezdetiérték feladatára. Így is meg-

oldhatjuk az egyenletrendszerünket, de most térjünk vissza a fenti algoritmusra, és

fogalmazzuk meg a következ®képpen:

Legyen k ≥ 1 és x0 ∈ Rn adott,

m = 0, . . . , k − 1-re az

g(x, tm+1)− g(xm, tm) = 0, tm+1 := tm + ∆t, ∆t :=1

k,

egyenletrendszer megoldásához l iterációt végzünk Newton-módszerrel, ennek ered-

ményét xm+1-gyel jelöljük, majd továbblépünk.

2.4.1. Tétel. (A folytatásos módszer elégséges konvergencia tétele) Legyen

x∗ az f(x) = 0 rendszer gyöke és teljesüljön az egész Rn-en, hogy

‖f ′(x)‖ 6M1, ‖f ′(x)− f ′(y)‖ 6 L‖x− y‖, ‖f ′(x)−1‖ 6 α.

Ha a folytatásos módszer k lépésszámára igaz

k ≥ Lα2‖f0‖, f0 := f(x0),

akkor minden ε > 0-hoz létezik olyan l = l(ε, L, α,M1, ‖f0‖), a közbüls® Newton-

lépések száma, hogy érvényes a következ®:

‖xk − x∗‖ 6 ε.

2.4.2. Megjegyzés. A folytatás módszerével tehát úgy érhetjük el a globális kon-

vergenciát, hogy egy esetlegesen rosszul megválasztott x0-ból egy olyan xk−1-et ál-

lítunk el®, amely benne lesz a lokális konvergencia vonzási gömbjében, tehát jó lesz

a Newton-módszer kezd®vektorának.

2.4.3. Megjegyzés. Nem minden esetben célszer¶ használni a folytatásos mód-

szert. El®fordulhat például, hogy túl sok id® megy el a közbüls® egyenletrendszerek

megoldására, vagy az f ′ Jacobi-mátrixa szinguáris. Ezek az esetek jelen®sen megne-

hezíthetik a dolgunkat, viszont vannak olyan feladatok, amelyeket máshogyan nem

tudunk megoldani.

24

Page 25: Heged¶s Dávid Nemlineáris …...Bevezetés Az alkalmazott matematika számos területén (pl. zika, robotika, irányítástechnika) sokszor találkozhatunk olyan problémákkal,

2.5. Alkalmazások

A feladatok megoldásához használt programok a CD-mellékleten találhatók.

1. feladat

Hány megoldása van a következ® egyenletrendszernek a [−10, 10]×[−10, 10] négy-

zet belsejében és melyek ezek?

x21 − 10x1 + x22 + 8 = 0 (2.8)

x1x22 + x1 − 10x2 + 8 = 0 (2.9)

Megoldás:

Ábrázoljuk MATLAB segítségével az egyenleteket külön-külön implicit függvény-

ként a megadott tartományon, és rajzoljuk ki ®ket egy koordinátarendszerbe a

pelda1.m segítségével:

2.1. ábra. Pirossal a (2.8), kékkel a (2.9) ábrázolása

A gra�konról leolvashatjuk, hogy a [−10, 10] × [−10, 10] tartományon kett® da-

rab gyöke van az egyenletrendszernek. Ezek megkeresésére indítsuk el különböz®

kezd®pontokból 'A Newton-módszer' mappában található Newton.m-et:

25

Page 26: Heged¶s Dávid Nemlineáris …...Bevezetés Az alkalmazott matematika számos területén (pl. zika, robotika, irányítástechnika) sokszor találkozhatunk olyan problémákkal,

2.2. ábra. A Newton.m eredménye a [0.5, 0.5] és a [3, 3] kezd®pontokból

A program tehát megtalálja a két gyököt, ezek az [1, 1] és a [2.1934, 3.0205].

Nézzünk most egy példát arra az esetre, amikor m¶ködésbe lép a csillapított

módszer t-stratégiája:

2. feladat

Oldjuk meg az alábbi rendszert a [0, 1.4, 1] kezd®pontból!

−x21 + x3 + 3 = 0

−x1 + 2x22 − x23 − 3 = 0

x2 − 3x23 + 2 = 0

Megoldás:

A 'Csillapított Newton-módszer' mappából a Csillapitas.m fájl segítségével oldjuk

meg az egyenletrendszert:

26

Page 27: Heged¶s Dávid Nemlineáris …...Bevezetés Az alkalmazott matematika számos területén (pl. zika, robotika, irányítástechnika) sokszor találkozhatunk olyan problémákkal,

2.3. ábra. A Csillapitas.m eredménye a [0, 1.4, 1] kezd®pontból

Az eredményben szerepl® p jelenti azt a számot, hogy hányszor volt szükség

az egyes lépésekben a t csillapítási paraméter csökkentésére (a leereszkedési-

kritérium nem teljesülése miatt). Azt látjuk, hogy az els® lépésben hétszer kellett

csökkenteni, így ekkor t = 0.0078 lett. Viszont a második lépést®l mindig nulla

marad a p (els®re teljesül a kritérium), tehát óvatosan növelhetjük t-t. A 13.

lépést®l újra t = 1 lesz, innent®l kezdve négyzetes a konvergencia. A program

megtalálja a [−2, 1, 1] gyököt, és a maradékvektor normája igazolja, hogy ez va-

lóban gyök lesz.

3. feladat

Keressük meg a következ® egyenletrendszer gyökeit a [−3, 3]× [−3, 3] négyzeten

és ábrázoljuk a konvergenciatarományt!

arctan(x1 − x22) = 0 (2.10)

arctan(x21 − x2) = 0 (2.11)

Megoldás:

Ismét ábrázoljuk MATLAB-ban implicit függvényként a két egyenletet (pelda2.m)!

Ekkor az alábbi ábra adódik:

27

Page 28: Heged¶s Dávid Nemlineáris …...Bevezetés Az alkalmazott matematika számos területén (pl. zika, robotika, irányítástechnika) sokszor találkozhatunk olyan problémákkal,

2.4. ábra. Pirossal a (2.10), kékkel a (2.11) ábrázolása

Jól látszik, hogy a [0, 0] és az [1, 1] lesznek a gyökök. Az els® feladat mintájára

indítsuk el különböz® kezd®pontokból a Newton.m-et! Azt fogjuk tapasztalni,

hogy a gyököknek csak egy kis környezetéb®l konvergál a Newton-módszer:

2.5. ábra. A Newton.m eredménye a [0.1, 0.1] és a [−1,−1] kezd®pontokból

28

Page 29: Heged¶s Dávid Nemlineáris …...Bevezetés Az alkalmazott matematika számos területén (pl. zika, robotika, irányítástechnika) sokszor találkozhatunk olyan problémákkal,

2.6. ábra. A Newton.m eredménye a [2, 1] és a [10, 10] kezd®pontokból

A program megtalálja a [0.1, 0.1] pontból a [0, 0], a [−1,−1] pontból pedig az

[1, 1] gyököt. Viszont a [2, 1] és a [10, 10] pontokból a Jacobi-mátrix szingula-

ritására hivatkozva kilép, tehát nem konvergál. Most a 'Konvergenciataromány

ábrázolása' mappában található kirajzol.m segítségével a következ® ábrát kapjuk:

2.7. ábra. Az [arctan(x1 − x22) = 0; arctan(x21 − x2) = 0] egyenletrendszer konver-

genciatartománya

A ga�konon piros szín jelöli azokat a pontokat, amelyekb®l indítva konvergált,

kék szín pedig azokat, amelyekb®l divergált a Newton-módszer.

4. feladat

Tekintsük a 3. feladat egyenletrendszerét és indítsuk el a folytatásos módszer

programját egy konvergenciatartományon kívül es® kezd®pontból!

29

Page 30: Heged¶s Dávid Nemlineáris …...Bevezetés Az alkalmazott matematika számos területén (pl. zika, robotika, irányítástechnika) sokszor találkozhatunk olyan problémákkal,

Megoldás:

A folytatás módszere globalizálja a konvergenciát, erre látunk most egy példát.

Nyissuk meg 'A folytatás módszere' mappából a Folytatas.m-et, és adjuk meg a

[10, 10] kezd®vektort:

2.8. ábra. A Folytatas.m eredménye a [10, 10] kezd®pontból

Tehát a folytatás módszere egy olyan kezd®vektorból is megtalálta az [1, 1] gyö-

köt, amelyb®l a Newton-módszer nem konverált.

5. feladat

Ábrázoljuk, hogy hogyan konvergál a folytatás módszere a kezd®pontból a gyök-

höz az arctan(x− 2) = 0 egyenlet esetén!

Megoldás:

El®ször rajzoljuk ki a függvényt (pelda3.m), majd azt az intervallumot, amely-

b®l indítva a Newton-módszer konvergál ('Konvergenciatartomány ábrázolása'→arctg.m):

2.9. ábra. Az f(x) = arctan(x− 2) függvény

30

Page 31: Heged¶s Dávid Nemlineáris …...Bevezetés Az alkalmazott matematika számos területén (pl. zika, robotika, irányítástechnika) sokszor találkozhatunk olyan problémákkal,

2.10. ábra. Az f(x) = arctan(x− 2) függvény konvergenciaintervalluma

Az els® ábráról leolvashatjuk, hogy az x = 2 lesz a függvény zérushelye. A máso-

dik ábrán nulla a függvényérték azokon a helyeken, amelyekb®l nem konvergált,

egy pedig azokon, amelyekb®l konvergált a Newton-módszer. Indítsuk el a foly-

tatásos módszert például az x = 10 pontból:

2.11. ábra. A Folytatas.m eredménye az x = 10 pontból

A folytatás módszere ismét megtalálta a gyököt egy olyan pontból, amely kívül

esik a konvergenciaintervallumon. Most 'A folytatás módszere' mappából indít-

suk el a folyt−gyokok.m-et! Ekkor megkapjuk, hogy hogyan jutott el a módszer

a 10 pontból a 2-be:

31

Page 32: Heged¶s Dávid Nemlineáris …...Bevezetés Az alkalmazott matematika számos területén (pl. zika, robotika, irányítástechnika) sokszor találkozhatunk olyan problémákkal,

2.12. ábra. A zérushelyek változása

Ez az ábra a folytatás módszerénél de�niált g(x, t) függvény zérushelyeit mutatja

meg a t = 0,1

k, . . . ,

k

khelyeken.

32

Page 33: Heged¶s Dávid Nemlineáris …...Bevezetés Az alkalmazott matematika számos területén (pl. zika, robotika, irányítástechnika) sokszor találkozhatunk olyan problémákkal,

3. fejezet

Útmutatás a programok

használatához

A CD-mellékleten öt mappát, három M-fájlt és egy text dokumentumot talál az

Olvasó. Az M-fájlok a fenti feladatok implicit függvényeit, valamint az f(x) =

arctan(x − 2) függvényt rajzolják ki. A text dokumentumban találhatók az egyes

módszerek utasításai a példafeladatokra.

A mappákban a módszerek M-fájljai vannak az összes 'segédprogrammal' együtt.

Például a Newton-módszer mappájában benne van a Jacobi-mátrixot kiszámító fájl

is, mivel ezt használja az iteráció. A programok lefutása érdekében nagyon fontos,

hogy mindig az a mappa legyen megnyitva a MATLAB-ban, amelyik eljárást éppen

használni szeretnénk. Ekkor már csak az utasítást kell megadnunk a text dokumen-

tum mintájára. Az input paraméterek száma és jelentése módszerenként eltérhet,

ezekhez a programok kódjában leírás található. A folytatás módszerének és a kon-

vergenciatartomány ábrázolásának mappájában további szkriptek találhatók, ezek is

a fenti feladatokhoz tartoznak. Megemlítem még, hogy a Converge.m egy 0−1 mát-

rixot eredményez, amely a pontok nem konvergál-konvergál tulajdonságát jelentik.

Ezt a mátrixot a pcolor paranccsal rajzoltathatjuk ki a kirajzol.m segítségével.

33

Page 34: Heged¶s Dávid Nemlineáris …...Bevezetés Az alkalmazott matematika számos területén (pl. zika, robotika, irányítástechnika) sokszor találkozhatunk olyan problémákkal,

Irodalomjegyzék

[1] Gergó Lajos, Numerikus módszerek, ELTE Eötvös Kiadó, 2010, 157-178

[2] J. Stoer, R. Bulirsch, Introduction to Numerical Analysis, Springer-Verlag New

York Inc., 1980, 244-270

[3] Stoyan Gisbert, Takó Galina, Numerikus módszerek I., ELTE-Typotex Kiadó,

1993, 322-363

[4] Stoyan Gisbert, Numerikus matematika, Typotex kiadó, 2007, 133-158

34