heged¶s dávid nemlineáris …...bevezetés az alkalmazott matematika számos területén (pl....

34

Upload: others

Post on 20-Jan-2020

4 views

Category:

Documents


0 download

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