Heged¶s Dávid Nemlineáris …...Bevezetés Az alkalmazott matematika számos területén (pl....
Transcript of Heged¶s Dávid Nemlineáris …...Bevezetés Az alkalmazott matematika számos területén (pl....
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
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
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
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
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
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
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
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
,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
Í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
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
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
,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
, 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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