heged¶s dávid nemlineáris …...bevezetés az alkalmazott matematika számos területén (pl....
TRANSCRIPT
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