Halveringsmetoden

Halveringsmetoden er ein enkel iterativ metode for å finna eit nullpunkt til ein funksjon, dvs. finna ei løysing på likninga f(x) = 0. For å bruka metoden må vi kjenna to punkt a og b som er slik at f(a) og f(b) har ulikt fortegn, og  funksjonen må vera kontinuerlig mellom på intervallet [a,b]. Vi startar med å finna midtpunktet m mellom a og b. Hvis  f(m) og f(a) har ulikt fortegn, så leitar vi vidare i intervallet [a,m]. Hvis ikkje fortset vi med intervallet [m,b]. Slik kan vi fortsetja heilt til vi er fornøyd med svaret.

Eksempel

Vi skal finna eit nullpunkt til funksjonen under og startar med verdiane a = 6 og b = 12. Vi finn då midtpunktet m = 9.

halveringsmetoden

Vi ser av figuren at både f(6) og f(9) er negative. Derfor må vi leita vidare i intervallet [9,12]. Vi set no a = 9 og b = 12 og finn eit nytt midtpunkt mellom disse, m = 10.5

halveringsmetoden

Denne gongen ser vi at f(9) er negativ, mens f(10.5) er positiv. Det vil sei at vi kan fortsetja å leita i intervallet [9,10.5]. Vi set altså a = 9 og b = 10.5 og finn det neste midtpunktet, m = 9.75 På denne måten kan vi fortsetja heilt til vi har komt så nær nullpunktet x = 10 som vi vil. Du kan prøva ut metoden her. Sjå også Python-eksempel.

Metoden vil alltid finna ei løysing som er nær nok. Hvis vi startar med heldige verdiar av (feks a = 8 og b = 12), så vil vi finna nullpunktet med ein gong. Men som regel konvergerer metoden seint.

Algoritme

Ein algoritme i pseudokode kan då sjå slik ut. Merk at vi testar om produktet mellom f(a) og f(b) er negativt. Det kan skje hvis f(a) er negativ og f(m) er positiv, ellers hvis f(a) er positiv og f(m) er negativ. Med andre ord: f(a) og f(m) har ulikt fortegn.


    Gitt funksjonen f, a og b.
        gjenta til a,b er nær nok nullpunktet
        	m ← (a + b)/2
			hvis f(m) = 0
				stopp
        	ellers hvis f(a)f(m) < 0
        		b ← m
        	ellers
        		a ← m
    

LENKER

Bisection method (Wikipedia)