• Nem Talált Eredményt

Nemlineáris egyenletrendszerek megoldása

In document Numerikus módszerek (Pldal 153-157)

Ellen®rz® kérdések

5. Nemlineáris egyenletek és egyenletrendszerek megoldásaegyenletrendszerek megoldása

5.4. Nemlineáris egyenletrendszerek megoldása

k x(k) |x(k)−x?| log. rel. csökk.

0 1.90000000000000 0.48578643762690

-1 -1.4763-1578947368 0.062-102227-10059 3.84906734083784 2 1.41551974856928 0.00130618619619 2.38960316159481 3 1.41421416502183 0.00000060264874 2.15670829615046 4 1.41421356237322 0.00000000000013 2.07263104582362

5 1.41421356237310 0

-5.3.4. táblázat. A Newton-módszer iterációs lépései.

iteráció a xponthoz fog tartani.

Indítsuk el az iterációt példként az x(0) = 2pontból. Ekkor x(1) = 1.2,|x(1)−x(0)|= 0.8, és a hibabecsl® formulából

|x(k)−x?| ≤ qk

1−q|x(1)−x(0)|=0.6k

0.4 0.8≤10−6,

ígykmax = 29 iteráció elég az el®re adott pontosság eléréséhez. Az5.3.5. táblázat azt mutatja, hogy 8 iterációs lépés is elegend®. A táblázat utolsó el®tti oszlopában kiszámoltuk az Aitken-gyorsítással kapott új sorozatot is és annak logaritmikus relatív csökkenését. Látható, hogy az Aitken-gyorsítással el®állított elemek hibája kisebb, mint az eredeti sorozat megfelel® hibája. Az új sorozat is els®rendben konvergál.

k x(k) |x(k)x?| log. rel. csökk. Aitken gyorsítás log. rel. csökk.

0 2.00000000000000 0.58578643762690 - - 0

1 1.20000000000000 0.21421356237310 2.88104303658437 1.37500000000000 0 2 1.42400000000000 0.00978643762690 3.00286370704064 1.41341463414634 2.20216989083631 3 1.41288960000000 0.00132396237310 1.43234778523415 1.41420899509093 1.72408572874810 4 1.41438679128474 0.00017322891164 1.30688572006857 1.41421348125311 1.32779360045390 5 1.41419079314044 0.00002276923265 1.23429487859350 1.41421356097773 1.24883257677142 6 1.41421655337916 0.00000299100607 1.18987664275526 1.41421356234091 1.18486140714539 7 1.41421316943851 0.00000039293459 1.15957057942449 1.41421356233394 0.99188777543203

8 1.41421361399318 0.00000005162009 1.13761248562765 -

-5.3.5. táblázat. A xpont-iteráció iterációs lépései.

5.4. Nemlineáris egyenletrendszerek megoldása

Tegyük fel, hogy f:H →H egy adott kell®en sokszor folytonosan dierenciálható függvény, ahol H ⊂ Rn egy zárt halmaz. Keressük azon x ∈ H vektorokat, melyekre f(x) = 0. Ha f lineáris, akkor egy lineáris egyenletrendszert kell megoldanunk, különben nemlineáris egyenletrendszert kapunk. A nemlineáris egyenletrendszerek megoldása általában nehéz feladat. Már annak eldön-tése sem egyszer¶, hogy van-e, és ha igen, hány megoldása van az egyenletrendszernek. Magasabb dimenzióban az a lehet®ségünk is megsz¶nik, hogy számítógéppel ábrázolva a függvényeket meg tudjuk sejteni a megoldás helyét. Kétváltozós, kétismeretlenes egyenletrendszerek esetén segíthet, ha számítógépes program segítségével megrajzoljuk f koordinátafüggvényeinek a nulla értékhez tartozó szintvonalait, és ezek metszéspontját megkeresve megsejthet® a megoldás helye.

A nemlineáris egyenletrendszerek megoldására általában xpont-iterációt szokás alkalmazni.

Azaz átírjuk az egyenletrendszert ekvivalens módon F(x) = x alakra és, ha az F függvényre teljesülnek a Banch-féle xponttétel feltételei (természetesen ennek ellen®rzése általában nem

egyszer¶), akkor annak segítségével a xpont, vagyis az eredeti feladat megoldása meghatároz-ható.

Néha nem szükséges a Banach-féle xponttétel feltételeinek ellen®rzése. Egyszer¶en elindítjuk egy x(0)∈H pontból az

x(k+1)=F(x(k))

iterációt, és ha ez a sorozat konvergál egy x? vektorhoz, akkor nyilvánvalóan F(x?) = x? miatt f(x?) =0 is teljesülni fog (F folytonos).

A xpont-iterációk egy speciális formája az egyváltozós esetben megismert Newton-módszer többdimenziós változata. Fejtsük sorba az f függvényt az x(k) pontban, majd alkalmazzuk a sorfejtést az x? xpontra:

0=f(x?)≈f(x(k)) +J(x(k))(x?−x(k)), ahol

J(x(k)) =

∂f1

∂x1(x(k)) . . . ∂x∂f1

n(x(k)) ... . . . ...

∂fn

∂x1(x(k)) . . . ∂f∂xn

n(x(k))

 az ún. Jacobi-mátrix. Innét kifejezhetjük x?-t:

x?≈x(k)−(J(x(k)))−1f(x(k)).

Mivel ez csak egy közelítés, ez nem adja meg x?-t, de alkalmas arra, hogy egy iterációt deniáljunk az x(k+1)≈x(k)−(J(x(k)))−1f(x(k))

alakban.

Vegyük észre, hogy a fenti iteráció valóban a Newton-módszer általánosítása, ezért ezt több-változós Newton-módszernek nevezzük. Egyszer¶en meg is jegyezhet®, hiszen a deriválttal való osztás helyett a Jacobi-mátrix (deriváltak mátrixa) inverzével való szorzás szerepel. A módszer végrehajtása során m¶veletigényes, hogy a Jacobi-mátrixot minden lépésben ki kell számolni és meg kell oldani egy lineáris egyenletrendszert.

Ha az x? megoldás egy környezetében a mátrixok inverzei korlátosak, és a Jacobi-mátrix Lipschitz-folytonos (megfelel® indukált normákat használva), akkor x? egy elegend®en kicsi környezetéb®l indítva az iterációt, az az egyenletrendszer megoldásához fog tartani, és a konvergencia másodrend¶ lesz.

5.4.1. megjegyzés. Láttuk, hogy a többváltozós Newton-módszernél minden lépésben meg kell oldanunk egy lineáris egyenletrendszert, melynek mátrixa az el®z® iterációs lépésnek megfelel®

pontban kiszámolt Jacobi-mátrix. Ha nagymért¶ feladatot kell megoldnunk, akkor módosíthatjuk úgy az iterációt, hogy minden lépésben a kezd®pontban kiszámolt Jacobi-mátrixszal oldjuk meg az egyenletrendszert:

x(k+1)=x(k)−(J(x(0)))−1f(x(k)).

Ezt az eljárást módosított Newton-módszernek hívjuk. Ez a módszer gyorsabb, de már csak els®rend¶ konvergenciát biztosít.

5.5. Feladatok

Nemlineáris egyenletek megoldása

5.5. Feladatok 151

5.5.1. feladat. A√ 1 +√

2 +. . .+√

100összeget úgy számítjuk ki, hogy mindegyik tagot két tizedesjegyre kerekítjük. Hány helyes tizedesjegyre számíthatunk legalább a végeredményben?

5.5.2. feladat. 1225-ben Leonardo Pisano (alias Leonardo Bonacci, vagy Leonardo Fibonacci, vagy egyszer¶en Fibonacci) meghatározta a

p(x) =x3+ 2x2+ 10x−20

polinom x = 1.368808107 zérushelyét. Azt, hogy hogyan sikerült erre az eredményre jutnia, nem tudjuk. Határozzunk meg egy olyan intervallumot, amelyb®l a fenti polinom zérushelyei kikerülhetnek! Van-e más valós zérushelye a polinomnak?

5.5.3. feladat. Tegyük fel, hogy tudjuk, hogy az el®z® feladatban szerepl® polinom zérushelye az [1,2] intervallumban van. Határozzuk meg a zérushelyet az intervallumfelezési-, a húr-, a szel®-, a Newton- és a xpont-iterációs módszer segítségével (írjunk egyszer¶ MATLAB programokat)!

Utóbbinál alkalmazzuk azx= 20/(x2+ 2x+ 10)egyenl®séget az iteráció konstrukciójában (iga-zoljuk a konvergenciát). Hasonlítsuk össze a módszereket a konvergenciasebesség szerint!

5.5.4. feladat. Alkalmazzuk az Aitken-gyorsítást az el®z® feladatbeli xpont-iterációx(10), x(11) ésx(12) elemével! Mit tapasztalunk?

5.5.5. feladat. Oldjuk meg az alábbi egyenleteket:2x−lnx−4 = 0,2x−4x= 0,x5−x−2 = 0, xlnx−14 = 0!

5.5.6. feladat. Adjunk olyan eljárást, amely osztás nélkül határozza meg egy a pozitív szám reciprokát! Kísérletezzünk az1−ax= 0és aza−1/x= 0 egyenletek Newton-módszeres megol-dásaival!

5.5.7. feladat. Igazoljuk, hogy ha egyαszám egyp(x)polinom zérushelye, akkor azαszámmal végrehajtva a Horner-módszert, a keletkez® számok éppen a p(x)/(x−α) polinom együtthatóit adják meg. Ha tehát egy polinomnak megtaláltuk egy zérushelyét, akkor a fokszáma csökkenthet®

a fenti eljárással (deáció). Határozzuk meg az x4 −16x3 + 72x2−96x+ 24 polinom összes zérushelyét a Newton-módszer és a deációs eljárás segítségével!

5.5.8. feladat. Hány megoldása van a sinx = 1−xegyenletnek a [0,1] intervallumon? Ha-tározzuk meg a gyököt intervallumfelezéssel! Hány lépés kell ahhoz, hogy a gyököt 4 tizedesjegy pontossággal meghatározhassuk. Határozzuk meg a gyököt xpont-iterációval! Itt is becsüljük meg a szükséges lépések számát!

5.5.9. feladat. Egy harmadfokú p(x) polinomnak három valós zérushelye van: z1, z2 és z3. Mutassuk meg, hogy ha a Newton-módszert a(z1+z2)/2pontból indítjuk, akkor a módszer egy lépésben megadja az3 gyököt!

5.5.10. feladat. Javasoljunk legalább két xpont-iterációt az e−x−sinx = 0 egyenlet α ≈ 0.5885gyökének megkeresésére. Vizsgáljuk meg a konvergenciát!

5.5.11. feladat. A Steensen-módszer az alábbi xpont-iterációval oldja meg az f(x) = 0 egyenletet:

x(k+1)=x(k)−f(x(k))

φ(x(k)), φ(x(k)) = f(x(k)+f(x(k)))−f(x(k)) f(x(k)) . Igazoljuk, hogy a módszer másodrend¶, és oldjuk meg vele az el®z® feladat egyenletét!

5.5.12. feladat. Az f(x) = (2x2−3x−2)/(x−1) függvény zérushelyeinek megkereséséhez használjuk az alábbi xpont-iterációkat:

x(k+1)= 3(x(k))2−4x(k)−2

x(k)−1 , x(k+1) =x(k)−2 + x(k) x(k)−1.

Vizsgáljuk meg a módszerek rendjét! Milyen kezd®pontból fog 2-höz konvergálni a második mód-szer?

5.5.13. feladat. Oldjuk meg azf(x) =ex−1−x= 0egyenletet a Newton-módszerrel! Mekkora lesz a konvergenciarend? Próbáljuk ki az

x(k+1)=x(k)−2f(x(k)) f0(x(k)) iterációt a megoldásra!

5.5.14. feladat. A Newton-módszer is tulajdonképpen egy xpont-iteráció. Határozzuk meg a konvergenciarendjét a xpont-iterációk konvergenciarendjére vonatkozó tétel alapján!

5.5.15. feladat. Alkalmazzuk a Newton-módszert azf(x) =x3−2x+ 2függvényre a 0 értéket választva kezd®pontnak, és ag(x) =√3

xfüggvényre!

Nemlineáris egyenletrendszerek megoldása

5.5.16. feladat. Oldjuk meg a Newton-módszer segítségével az alábbi egyenletrendszert!

1−4x+ 2x2−2y3= 0

−4 +x4+ 4y+ 4y4= 0

In document Numerikus módszerek (Pldal 153-157)