Kun yhtälöä ei voi ratkaista tarkasti (esim yhtälölle x-sinx = 1 ei ole tarkkaa ratkaisua), voidaan sille etsiä likiarvo. Iterointi on menetelmä, missä jollakin likiarvolla voidaan määrittää jokin toinen, parempi likiarvo. Kun iteroidaan tarpeeksi monta kertaa, saadaan niin hyvä likiarvo kuin vain on tarpeen. Esim. Alkuarvo on 2 ja iterointimenetelmässä arvoon lisätään 1 ja se jaetaan kahdella. Laske laskimella ensin (2+1)/2. Sitten syötä laskimeen (ans+1)/2 ja paina EXE. Painamalla EXE yhä toistamiseen, saadaan uusi, parempi likiarvo. (Käytä "tarkka" asetuksen sijaan "desim.") Mikä on lähestyttävä luku 4 merkitsevän luvun tarkkuudella?
4.1 Ratkaisujen olemassaolo ja lukumäärä Usein halutaan selvittää funktion nollakohdat, joten katsotaan sen teoriaa ensin, ennen kuin menemme varsinaisiin numeerisiin menetelmiin. Bolzanon lause takaa sen, että meillä on vähintään jokin määrä ratkaisuja: Jos f(a) ja f(b) ovat erimerkkiset ja f on jatkuva välillä [a,b], niin funktiolla on vähintään 1 nollakohta tällä välillä. Jos halutaan osoittaa, että vähintään kaksi nollakohtaa, niin otetaan välit [a,b] ja [c,d].
Esim. Jatkuvalla funktiolla on ainakin kaksi nollakohtaa, sillä f(-2)>0 ja f(0)<0 sekä f(0)<0 ja f(2)>0 Jotta voidaan osoittaa, että funktiolla on enintään n nollakohtaa, tarvitaan funktion kulkukaaviota. Esim. edellisen esimerkin funktio f. f'(x) = 2x, joten kulkukaavio: Koska funktio on kasvava kun x>0, on sillä enintään 1 nollakohta tällä alueella. Vastaavasti vähenevä kun x<0, sama homma. Siksi enintään 2 nollakohtaa.
Jos on enintään 2 nollakohtaa ja vähintään 2 nollakohtaa, on oltava tasan 2 nollakohtaa.
4.2 Puolitusmenetelmä -hitain, mutta yksinkertaisin tapa löytää funktion nollakohta numeerisesti Algoritmi: -otetaan jokin väli [a,b], jossa nollakohta on -puolitetaan väli kohdasta c=(a+b)/2 -c on nyt eka likiarvo -valitaan uudeksi väliksi [a,c] tai [c,b] riippuen kummassa välissä vastaus on -toistetaan, kunnes haluttu tarkkuus saadaan Esim. (tarkka vastaus ) Määritä funktion nollakohta 3 merkitsevän luvun tarkkuudella. Valitaan ekaksi väliksi [1,2]. f(1)=-1<0 ja f(2)=6>0 Silloin välin puoliväli c= 3/2=1,5
Nyt f(1,5) 1>0, eli uusi väli on [1;1,5] Tästä puoliväli on 1,25 f(1,25)<0, joten uusi väli on [1,25;1,5] jonka puoliväli on 1,375 f(1,375)>0, joten uusi väli on [1,25;1,375] jonka puoliväli on 1,3125 f(1,3125)>0, joten uusi väli on [1,25;1,3125] jonka puoliväli on 1,28125 f(1,28125)>0, joten uusi väli on [1,25;1,28125] jonka puoliväli on 1,265625 f(1,265625)>0, joten [1,25;1,265625] jonka puoliväli on 1,2578125 f(1,2578125)<0, joten [1,2578125;1,265625] jonka puoliväli on 1,26171875 f(1,26171875)>0, joten [1,2578125;1,26171875]
Tästä voidaan päätellä, että likiarvo on 1,26 (ylä ja alaarvo pyöristyvät tähän arvoon) 4.3 Newtonin menetelmä tehokkaampi kuin puolitusmenetelmä siinä funktio korvataan sen tangenttisuoralla uusi likiarvo on tangenttisuoran nollakohta ei toimi kaikilla lähtöarvoilla Newtonin menetelmällä on iteroitu kahdesti Newtonin menetelmän kaava Esim. Laske Newtonin menetelmällä funktion f nollakohdan likiarvo 5 merkitsevän luvun tarkkuudella.
Valitaan lähtöarvoksi 2. Tällöin Siis eka likiarvo on Vastaavasti lasketaan Sama laskimella
Sama voidaan tehdä myös laskimen taulukkoohjelmalla (samanlainen kuin Excel) Syötä aloitusarvo ekaan soluun ja sijoita ekan solun B1 sisältävä kaava toiseen soluun Kaava on nyt kopioitunut maalattuihin soluihin ja likiarvot on laskettuna (B10 solussa on arvot B9 solusta) Kopioi kaavan sisältämä solu Valitse vetämällä kaavan alapuolisia soluja ja liitä kaava niihin
4.5 Kiintopistemenetelmä -vaihtoehto Newtonin menetelmälle -nopeampi, helpompi, mutta epävarmempi -muutetaan yhtälö f(x)=0 muotoon x=g(x) -useita vaihtoehtoja funktion g valinnalle -valinnalla merkitystä siihen, että toimiiko -esim. -valitaan bolzanon lauseen mukaiselta väliltä [a,b] jokin aloitusarvo -uusi likiarvo lasketaan g(x)=x yhtälöstä Esim. Ratkaise funktion f nollakohta viiden merkitsevän luvun tarkkuudella käyttäen kiintopistemenetelmää
f(-2)<0 ja f(0)>0, joten Bolzanon lauseen nojalla funktiolla on ainakin 1 nollakohta välillä [-2,0] Valitaan lähtöarvoksi -1 ja funktioksi g Nyt Eli ainakaan tällä lähtöarvolla ei toiminut. Kannattaa kokeilla eri valintaa, eli funktio h!
Joskus kiintopistemenetelmä saattaa löytää jokin toinen funktion nollakohta kuin mitä aluksi haettiin. Aloitusarvon valinta vaikuttaa!