Sekanttimenetelmä

Sekanttimenetelmä on numeerisen analyysin algoritmi funktion nollakohdan löytämiseksi. Menetelmässä käytetään käyrän sekantteja uuden, edellistä tarkemman likiarvon löytämiseksi juurelle. ==Menetelmän kuvaus== Sekanttimenetelmä on määritelty rekursiokaavalla :x_{n+1} = x_n - \frac{x_n- x_{n-1}}{f(x_n)-f(x_{n-1})} f(x_n). Kuten kaavasta havaitaan, sekanttimenetelmä edellyttää kahta alkuarvoa, x0 ja x1, jotka tulisi valita mahdollisimman läheltä etsittävää nollakohtaa. ==Menetelmän johtaminen== Valitaan xn−1 ja xn. Muodostetaan suora pisteiden (xn−1, f(xn−1)) ja (xn, f(xn)) kautta oikealla olevan kuvan mukaisesti. Sekantin yhtälö voidaan määrittää seuraavasti: : y - f(x_n) = \frac{f(x_n)-f(x_{n-1})}{x_n-x_{n-1}} (x-x_n). Seuraavaksi valitaan xn+1 siten, että se on kyseisen sekantin nollakohta eli : f(x_n) + \frac{f(x_n)-f(x_{n-1})}{x_n-x_{n-1}} (x_{n+1}-x_n) = 0. Tämän yhtälön ratkaisuna saadaan sekanttimenetelmän rekursiokaava. ==Suppeneminen== Yleensä sekanttimenetelmän iteraatiot suppenevat kohti funktion f nollakohtaa, jos alkuarvot x0 ja x1 on valittu suhteellisen läheltä juurta. Suppenemisnopeus on φ, missä : \varphi = \frac{1+\sqrt{5}}{2} \approx 1{,}618 on kultaisen leikkauksen suhde. Suppenemisnopeus ylittää siis lineaarisen suppenemisnopeuden. Tämä pätee kuitenkin vain tietyillä ehdoilla. Funktion f on oltava juuressa kahdesti derivoituva ja kyseinen juuri ei saa olla moninkertainen. Jos alkuarvot eivät ole juuren läheisyydessä, sekanttimenetelmä ei välttämättä suppene. ==Vertailua muihin menetelmiin== Regula falsi -menetelmä toimii samalla kaavalla kuin sekanttimenetelmä. Se ei kuitenkaan sovella kaavaa arvoihin xn−1 ja xn, vaan arvoon xn ja viimeisimpään sellaiseen iteraatioon xk, jolle f(xk) ja f(xn) ovat erimerkkiset. Tämä takaa, että regula falsi -menetelmä suppenee aina, kunhan alkuarvot on valittu siten että vastaavat funktion arvot ovat erimerkkiset. Sekanttimenetelmän rekursiokaava voidaan johtaa Newtonin menetelmästä : x_{n+1} = x_n - \frac{f(x_n)}{f'(x_n)} käyttämällä approksimaatiota : f'(x_n) \approx \frac{f(x_n)-f(x_{n-1})}{x_n-x_{n-1}}. Kun verrataan Newtonin menetelmää ja sekanttimenetelmää, Newtonin menetelmä suppenee nopeammin: sen suppenemisnopeus on verrannollinen toiseen potenssiin, kun taas sekanttimenetelmän arvoon φ ≈ 1.6. Newtonin menetelmä vaatii kuitenkin funktion derivointia samoin kuin sekä funktion että sen derivaatan arvon laskemista joka iteraatiolla. Siksi sekanttimenetelmä voi olla käytännössä nopeampi joissakin tapauksessa. Jos esimerkiksi oletamme, että funktion ja sen derivaatan arvojen laskeminen vaatii joka iteraatiolla yhtä paljon aikaa muiden aikatekijöiden ollessa samoja, sekanttimenetelmällä voidaan laskea kaksi iteraatiota samassa ajassa kuin Newtonin menetelmällä, jolloin sekanttimenetelmä on nopeampi. ==Esimerkki== Etsi yhtälön cos(x) = x3 positiivinen ratkaisu. Muutetaan tehtävä funktion f(x) = cos(x) − x3 nollakohdan löytämiseksi. Valitaan x0 = 0 ja x1 = 1. Tällöin : x_0 = 0 \,\\! : x_1 = 1 \,\\! : x_2 = 1 - f(1)\frac{1 - 0}{f(1) - f(0)} = 0{,}685073357326045 \,\\! : x_3 = 0{,}841355125665652 \,\\! : x_4 = 0{,}870353470875526 \,\\! : x_5 = 0{,}865358300319342 \,\\! : x_6 = 0{,}865473486654304 \,\\! : x_7 = 0{,}865474033163012 \,\\! : x_8 = 0{,}865474033101614 \,\\! == Kirjallisuutta == * ==Aiheesta muualla== * Animations for the secant method (englanniksi) * Secant method of zero (root) finding on Mathcad Application Server (englanniksi) * Secant Method on Holistic Numerical Methods Website Notes, PPT, Mathcad, Maple, Mathematica, Matlab (englanniksi) Luokka:Algoritmit Luokka:Numeerinen analyysi