Algoritmen sier at gitt et "løsningsgjett" $x_i$ for nullpunktet til en funksjon, så er neste iterasjon av løsningen gitt ved
$x_{i+1} = x_i - \frac{f(x_i)}{f'(x_i)}$
Slik at for en initialverdi $x_0$ så blir neste løsningsverdi $x_1$ gitt ved
$x_{1} = x_0 - \frac{f(x_0)}{f'(x_0)}$
og dette kan vi gjenta videre, så neste (forbedrede) løsningsverdi $x_2$ er gitt ved
$x_{2} = x_1 - \frac{f(x_1)}{f'(x_1)}$
Dette lar seg f.eks. programmere ved hjelp av en
while-løkke, som løper helt til løsningsverdien blir god nok - som i ditt tilfelle er helt til "feilen" blir 1.0E-12. Nøyaktig hvordan du vil programmere dette kommer an på språket du bruker. Under er en pseudokode for hvordan man kan tenke:
- Kode: Merk alt
x_0 = 1.0 #dette er en initialverdi som vi kan velge selv, det er gjerne vanlig å sette den til 1.0
løsning = x_0 #denne oppdaterer vi i løkken
while løsning IKKE god nok:
ny_løsning = løsning - f(løsning)/f'(løsning) #dette er Newton-Raphson-formelen, litt omskrevet
løsning = ny_løsning #her oppdaterer vi løsningen vår, og dette gjentas i hver iterasjon
print(løsning) #skriver ut den siste verdien vi fant, etter at vi har kommet ut av løkka
Du må her også tenke gjennom hvordan du kan finne verdien til den deriverte i programmet (hint: Bruk definisjonen til den deriverte).