Számítási módszerek a térképészetben
Nem-lineáris
egyenletek gyökének meghatározása
Nem-lineáris egyenletekkel gyakran találkozhatunk a térképészeti és a
geodéziai számítások során. Egy ilyen egyenlet általánosságban
alakú, ahol h1(x) és h2(x) nem-lineáris függvények.
Az egyenlet megoldása olyan gyök meghatározását
jelenti, amelyet az egyenletbe helyettesítve, az egyenlőség teljesül:
Grafikusan az gyök a közös
koordinátarendszerben ábrázolt
és az
függvények grafikonja metszéspontjának
x koordinátájaként állítható elő
(???ábra).
Célunk az egyenlet gyökének kívánt pontosságú numerikus előállítása.
Tekintsünk egy példát a
nem-lineáris egyenletre. Ismert, hogy a forgási ellipszoidról gömbre történő
szögtartó leképezésben (az ún. szögtartó gömbvetületben) az ellipszoidi
F,L és a
gömbi j, l koordináták
között az alábbi egyenletek adják meg az összefüggést:
és
A szélességekre vonatkozó egyenletből a
j gömbi
szélesség kifejezhető:
,
a F ellipszoidi
szélesség azonban nem írható fel explicit alakban a j gömbi
szélesség függvényében. Ha adott j -ből kell F-t kiszámítanunk, akkor a geodéziai szakirodalom az egyenlet
átrendezését ajánlja:
,
majd a baloldali képletből a F kifejezését:
.
Rögzített j gömbi
szélesség mellett – a jobb oldali kifejezésbe a
F ellipszoidi szélesség egy közelítését
behelyettesítve – ez a képlet a F javított
értékét eredményezi. Ezt az eljárást többször megismételve, az ellipszoidi
szélesség egyre pontosabb közelítéseit kapjuk. Felmerül a kérdés, hogy mi
biztosítja a fenti eljárás konvergenciáját (azaz hogy valóban egyre pontosabb
és pontosabb közelítéseket kapunk), továbbá hogy más átrendezés esetén mikor
várható hasonló eredmény.
Példa-egyenletünk bármely alakjában a
F ismeretlen helyére x-et írva és
j -t konstansnak tekintve,
visszatérhetünk a bevezetőben alkalmazott jelölésre. A legutóbbi alaknál pl.:
,
vagyis ebben a
alakú egyenletben
és
Visszatérve az általános alakhoz, a továbbiakban a
egyenletet rendezzük 0-ra:
A kiindulási egyenletünk megoldását tehát az f(x)
nem-lineáris függvény zérushelyének
meghatározására vezetjük vissza (???ábra).
Az
egyenlet közelítő megoldására több módszer ismeretes. Ezek közül
tekintünk át néhányat az alábbiakban.
A fokozatos közelítések módszere
Alakítsuk át az
egyenletet oly módon, hogy kifejezzük az egyenletből az x ismeretlent, ami többnyire megtehető. Az
átalakított egyenletünk ekkor az alábbi alakú:
ahol g(x) 6nem-lineáris függvény.
Képezzük ennek segítségével az xi sorozatot az
képlet alapján. Ha ez a sorozat konvergens, akkor az -mal jelölt határértéke lesz az egyenlet gyöke, vagyis
A konvergenciához elégséges
feltételre van szükségünk. Tegyük fel, hogy az egyenletünk jobb oldalán
álló g(x)
függvény x1 és között differenciálható,
és
Ekkor – felhasználva a Lagrange féle középértéktételt:
,
ahol u az xi és közé esik. Hasonlóan
látható, hogy
.
Az eljárást -ig
folytatva, teljes indukcióval látható, hogy
.
K<1 miatt Ki®0, és ez a
jobboldali kifejezés 0-hoz tartása miatt biztosítja a konvergenciát, vagyis:
.
Adjunk meg még egy korlátot az hibához a fenti
elégséges feltétel fennállása esetére.
Induljunk ki ehhez a háromszög-egyenlőtlenségből:
A Lagrange-középértéktétel fenti következményéből adódik, hogy
A két egyenlőtlenség együttes alkalmazásából átrendezéssel következik,
hogy
Kiemelés és átszorzás után:
Eszerint ha két egymást követő közelítés eltérése kicsi, akkor a
közelítésünknek a gyöktől való eltérése is kicsi.
A fokozatos közelítések módszere nem mindig előnyös, mert egyrészt
bonyolultabb egyenletek esetén x
kifejezése az egyenletből hosszabb számolást igényelhet, másrészt a
konvergencia elégséges feltételének biztosítása, illetve fennállásának
ellenőrzése sem mindig egyszerű. A továbbiakban egyszerűbb módszert igyekszünk
találni.
Gyökkeresés az intervallumfelezés
módszerével
Ha egy intervallumon értelmezett folytonos f(x) függvényhez van olyan x1
és x2 pont, melyekben
ellenkező előjelű értékeket vesz fel, vagyis
,
akkor Bolzano tétele miatt a függvénynek x1
és x2 között van
zérushelye,
amely gyöke az egyenletünknek:
Határozzuk meg az [x1,
x2] intervallum x3
felezőpontját:
Kivételesen előfordulhat, hogy éppen
,
és ezzel találtunk egy gyököt. Amennyiben viszont f(x3)¹0, akkor vagy f(x3)>0,
vagy f(x3)<
A gyököt biztosan tartalmazó intervallum hossza az i-edik felezés
után:
Ez biztosítja az eljárás konvergens voltát. Az eljárást akkor
tekinthetjük befejezettnek, ha az i-edik felezés
eredményeképpen kapott intervallum hossza a megkívánt pontosságnál kisebb; a
gyököt ekkor pl. ezen intervallum felezőpontjával közelíthetjük. Az eljárás azonban
nincs tekintettel az f(x) függvény menetére, ezért konvergenciája lassú
lehet.
A húrmódszer
Tekintsük ismét az
egyenletet, ahol f(x)
folytonos. Az x1, x2 kezdőértékekre vonatkozólag itt is kikötjük,
hogy álljon fenn az
egyenlőtlenség. A húrmódszer
az intervallumfelezéses módszer javításának tekinthető annyiban, hogy az f(x)
függvény görbéjének x1, f(x1) és x2, f(x2) koordinátájú pontjait összekötő egyenes
metszi ki az x tengelyen az
x3 pontot (???ábra). A két ponton áthaladó
egyenes egyenlete:
Ez egy lineáris függvény, melynek zérushelyét
jelöljük x3 –mal:
Az egyenletből x3 kifejezhető:
Ez után x1 és x2 pontok közül azt tartjuk meg, amelyre igaz,
hogy
(i=1,2) ,
a másik pontba x3 értékét visszahelyettesítve, az eljárást a
szükséges pontosság eléréséig ismételgetjük (???ábra).
A konvergencia sebessége megfelelő feltételek mellett becsülhető. Ha ugyanis
az [x1, x2] intervallumon teljesülnek az első és második
derivált abszolút értékére az alábbi korlátossági
feltételek:
(az f(x) szigorúan monoton), és
,
továbbá a
jelölés mellett feltesszük, hogy
,
akkor
,
tehát i®¥ esetén xi®.
A tétel belátásához vegyük az f(x) függvény másodfokú közelítését az [x1, x2] intervallumban. Ezt a másodfokú közelítést írjuk
fel a lineáris l(x) függvény és egy másodfokú p(x)
függvény összegeként (ahol l(x) az x1, f(x1) és x2, f(x2) koordinátájú pontokon áthaladó egyenes, p(x)
pedig az x1, x2
végpontokban 0 értéket felvevő függvény):
ahol v0[x1,
x2]. Ekkor az l(x) lineáris függvénynek az -mal jelölt gyökben felvett értéke egyrészt:
,
ahol w0[x1,
x2], másrészt:
(Felhasználtuk itt
Lagrange középérték-tétele mellett azt, hogy
l(x3)=0 és .)
A fenti két egyenletből kapjuk, hogy
A feltételek miatt
,
amiből adódik, hogy
Ehhez hasonlóan látható, hogy
(ahol i=1 vagy 2). Innen következik
Ennek analógiájára
(ahol j=i, azaz 1 és 2 közül valamelyik, vagy 3). Innen
stb., és ezzel a tételünket beláttuk.
A szelőmódszer
A húrmódszer kezdőpontjaiban a függvényértékek különböző előjelűeknek
kell lenniük. A szelőmódszer a
húrmódszer olyan módosítása, amely ezt kikerüli, és csak a kezdőpontokban
felvett függvényértékek különbözőségét írja elő, továbbá a húrmódszernél általában
gyorsabb konvergenciát biztosít.
Messe az x1, f(x1) és x2, f(x2) koordinátájú pontokat összekötő egyenes
az x
tengelyt az x3 pontban
(???ábra). Ezt – feltéve, hogy f(x1)¹ f(x2)
– a húrmódszernél megismert képlettel
kapjuk meg,:
Ez után – tekintet nélkül f(x3) előjelére, de kikötve, hogy f(x2) ¹ f(x3) – hasonlóan
kapjuk
f(x4) –et. Általánosságban
ahol f(xi-1) ¹ f(xi) (???ábra).
A szelőmódszer tehát – bár a konvergencia nincs mindig garantálva – általánosabb
feltételek között alkalmazható, mint a húrmódszer. Emellett ha fennáll a
konvergencia, akkor az a húrmódszerénél gyorsabb. Ennek belátásához induljunk
ki a húrmódszernél kikötött feltételekből, vagyis mellett az [x1, x2] intervallumon legyen
és
,
továbbá
.
A kezdőértékre vonatkozó feltételünk miatt f(x1)¹ f(x2),
ezért a fenti képletből kiszámítható x3, amely megegyezik a húrmódszerből származó
értékkel, és a szigorú monotonitás következményeként különbözik mind x1-től,
mind x2-től.
Továbbra is -mal jelölve a gyököt, a
húrmódszernél látottak alapján kapjuk, hogy
és
,
innen pedig
.
f ’(x3)¹0 miatt f(x3) ¹ f(x2),
tehát a fenti képletből x4 is képezhető. Az előbbiekhez hasonlóan
látható, hogy
és
,
ezért x3 ¹ x4 , és a szigorú monotonitás miatt f(x3) ¹ f(x4)
, tehát a fenti képlet alapján x5
is képezhető. Továbbá
,
majd ugyanígy
.
(Megjegyezzük, hogy a húrmódszer konvergenciájának bizonyításában ezen
a ponton x3 helyett xj áll, ahol j értéke lehet 1 vagy 2 is, és abban
az esetben csak annyit tudunk, hogy
.)
Ezt folytatva kapjuk, hogy
, stb.
Általában
,
ahol k1=1, k2=1, és ki=ki-2+ ki-1
, ha
i>2. Emiatt i>4
esetén ki>i–1, q
hatványai tehát i növelésével gyorsabban növekednek, ami biztosítja a
gyorsabb konvergenciát.