Du stoler ikke på at Matlabs innebygde funksjon sqrt
er effektiv nok, og har funnet ut at du vil lage din egen. Du har innsett at siden
\( rot^2 = tall \Rightarrow tall - rot^2 = 0 \)
, blir det å finne kvadratroten til et tall det samme som å finne nullpunktet til funksjonen
\( f(rot) = tall - rot^2 \)
. Du har lært en metode for å finne nullpunkt, kalt Newtons metode, som fungerer slik:
Velg et første estimat for nullpunkt, \( x_0 \) , for funksjonen \( f(x) \) .
Regn ut videre estimat for nullpunkt med formelen \( x_{i+1} = x_i - \frac{f(x_i)}{f'(x_i)} \)
(I vårt tilfelle er \( f'(x) = 2x \) ).
Lag en funksjon som estimerer roten til et tall. Bruk 20 iterasjoner av Newtons metode, og
\( x_0 = 1 \)
. Sammenlign estimatene for kvadratroten av 4, 97 og 1e18 med estimatene fra sqrt
.
Videoforklaring (9:02)