Akkordmódszer

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2019. október 15-én felülvizsgált verziótól ; az ellenőrzések 12 szerkesztést igényelnek .

Az akkordmódszer  egy iteratív numerikus módszer egy egyenlet közelítő gyökerének megtalálására .

A szekáns módszer geometriai leírása

Megkeressük a függvény nulláját . Válasszunk ki két kiindulási pontot , és húzzunk egy vonalat rajtuk. A pontban metszi az x tengelyt . Most keressük meg az abszcissza függvény értékét . Ideiglenesen figyelembe vesszük a szegmens gyökerét . Legyen a pontnak abszcisszája , és feküdjön a grafikonon. Most pontok helyett pontot és pontot fogunk venni . Most ezzel a két ponttal ugyanazt a műveletet hajtjuk végre, és így tovább, azaz kapunk két pontot , és ismételjük meg velük a műveletet. Az utolsó két pontot összekötő szakasz egy olyan pontban metszi az abszcissza tengelyt, amelynek abszcisszaértéke megközelítőleg gyökérnek tekinthető. Ezeket a műveleteket addig kell ismételni, amíg meg nem kapjuk a gyökérértéket a kívánt közelítéssel.

A szekáns módszer algebrai leírása

Legyen  a húrvégek abszcisszái,  legyen a szekant módszerrel megoldott függvény egyenlete. Keresse meg az együtthatókat és az egyenletrendszerből !

Vonjuk ki a másodikat az első egyenletből:

akkor megtaláljuk az együtthatókat és :

akkor

Az egyenlet felveszi a formát

Így most megtalálhatjuk a szekáns módszerrel kapott gyökér első közelítését:

Most vegyük a koordinátákat , és ismételjük meg az összes elvégzett műveletet, keresve egy új közelítést a gyökérhez. Így a szekant módszer iteratív képlete a következő:

A műveletet addig kell ismételni, amíg az kisebb vagy egyenlő nem lesz, mint a megadott hibaérték.

Akkordmódszer iteratív képlettel

Néha a szekantáló módszert iteratív képletű metódusnak nevezik

Ez a módszer az egyszerű iterációs módszer egy változatának tekinthető, és lassabb a konvergencia üteme. Továbbá a határozottság kedvéért ezt a módszert akkordmódszernek, az előző részben leírt módszert pedig szekáns módszernek nevezzük.

Példa a secant metódus használatára

Az egyenletet szekáns módszerrel oldjuk meg. Állítsuk be az ε=0,001 pontosságot, és vegyük kezdeti közelítésnek annak a szegmensnek a végeit , amelyen a gyökér el van választva: és , számértékek és tetszőlegesen választottak. A számításokat addig végezzük, amíg az egyenlőtlenség teljesül .

Példánkban az érték helyettesítve van , és az érték be van helyettesítve . Az érték az ezzel a képlettel kapott numerikus érték lesz . A jövőben behelyettesítjük a képletbe az értékben és az értékben .

Ezzel a képlettel következetesen a következőt kapjuk (a megfelelő számjegyek aláhúzva): (kép az akkordok módszeréből, de nem a szekánsokból, kérjük, válassza szét a szakaszokat)

; ; ; ; ; ; ; ; ; ;

Vizsgáljuk meg, hogy a metódus akkor is működik-e, ha és a gyökér ugyanazon oldalán van kiválasztva (vagyis ha a gyökér nincs elválasztva a kezdeti közelítések közötti szakaszon). Vegyük ugyanazt az egyenletet és . Aztán: (a kép már nem a szekant módszerből, hanem a dichotómia módszerből van )

; ; ; ; ; ; ; ;

Ugyanazt a gyökérértéket kaptuk ugyanannyi iterációban.

A szekant módszer konvergenciája

A szekáns módszer iterációi a gyökérhez konvergálnak, ha a kezdeti értékek és kellően közel vannak a gyökérhez. A szekáns módszer gyors. Az α konvergencia sorrendje megegyezik az aranymetszővel :

Így a konvergencia sorrendje nagyobb, mint lineáris, de nem másodfokú, mint a kapcsolódó Newton-módszer esetében .

Ez az eredmény akkor érvényes, ha kétszer differenciálható , és a gyök nem többszörös - .

A legtöbb gyors módszerhez hasonlóan a szekantáló módszerhez is nehéz konvergencia feltételeket megfogalmazni. Ha a kiindulási pontok elég közel vannak a gyökérhez, akkor a metódus konvergál, de nincs általános definíció a "elég közel"-re. A módszer konvergenciáját az határozza meg, hogy a függvény mennyire "hullámos" . Például, ha az intervallumban van egy pont, amelynél , akkor előfordulhat, hogy a folyamat nem konvergál.

Az akkordok módszerének kritériuma és konvergenciája

Ha  egy kétszer folytonosan differenciálható függvény, és az előjel megmarad a vizsgált intervallumon, akkor a kapott közelítések monoton konvergálnak a gyökhöz. Ha az egyenlet gyöke az intervallumon van , a deriváltok és ezen az intervallumon folytonosak és állandó előjelűek és , akkor bebizonyítható [1] , hogy a közelítő megoldás hibája nullára hajlik -nél , azaz a módszer konvergál és konvergál egy geometriai progresszió sebességével (ebben az esetben azt mondják, hogy lineáris a konvergencia sebessége ).

Történelmi háttér

Az első, aki közelítő megoldásokat tudott találni a köbös egyenletekre , Diophantus volt , ezzel megalapozva az akkordok módszerét. Diophantus fennmaradt művei erről számolnak be. Elsőként azonban Fermat értette meg módszereit a 17. században, az akkordok módszerét pedig Newton (1670-es évek). [2]

Megvalósítás

C++

#include <iostream> #include <math.h> double f ( double x ) { return sqrt ( fabs ( cos ( x ))) - x ; // Cserélje le azzal a függvénnyel, amelynek gyökereit keressük } // a, b - chord limits, epsilon - szükséges hiba double findRoot ( double a , double b , double epsilon ) { while ( fabs ( b - a ) > epsilon ) { a = b - ( b - a ) * f ( b ) / ( f ( b ) - f ( a )); b = a - ( a - b ) * f ( a ) / ( f ( a ) - f ( b )); } // a, b — (i - 1)-edik és i-edik tag visszatér b ; }

Python

matematikából import sin gépelésből import Hívható import egységteszt _ _ def secant ( f : hívható [[ float ], float ], x0 : float , eps : float = 1e-7 , kmax : int = 1e3 ) -> float : """ megoldja az f(x) = 0-t szekant módszerrel pontosság eps :param f: f :param x0: kezdőpont :param eps: pontosság kívánt :return: f(x) = 0 gyöke """ x , x_prev , i = x0 , x0 + 2 * eps , 0 míg abs ( x - x_prev ) >= eps és i < kmax : x , x_prev , i = x - f ( x ) / ( f ( x ) - f ( x_prev )) * ( x - x_prev ), x , i + egy vissza x osztály TestSecant ( unittest . TestCase ): def teszt_0 ( self ): def f ( x : float ) -> float : return x ** 2 - 20 * sin ( x ) x0 , x_star = 2 , 2,7529466338187049383 önmaga . assertAlmostEqual ( secant ( f , x0 ), x_star ) if __name__ == '__main__' : egységteszt . ()

Módosítások

A false position metódus csak abban különbözik a szekantáló módszertől, hogy minden alkalommal nem az utolsó 2 pontot veszik fel, hanem azokat, amelyek a gyökér körül vannak.

Lásd még

Irodalom

  1. Demidovich B. P. és Maron I. A. A számítási matematika alapjai. - Tudomány, 1970. - S. 664.
  2. Bahvalov, Zsidkov, Kobelkov. Numerikus módszerek. - A tudomány. — ISBN 5-94774-060-5 .

Jegyzetek

  1. Algebra (elérhetetlen link) . Letöltve: 2009. november 24. Az eredetiből archiválva : 2007. december 3.. 
  2. A matematika és története. John Stillwell

Linkek