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, blir det å finne kvadratroten til et tall det samme som å finne nullpunktet til funksjonen . Du har lært en metode for å finne nullpunkt, kalt Newtons metode, som fungerer slik:

  1.  Velg et første estimat for nullpunkt,, for funksjonen.

  2. Regn ut videre estimat for nullpunkt med formelen

(I vårt tilfelle er).

Lag en funksjon som estimerer roten til et tall. Bruk 20 iterasjoner av Newtons metode, og. Sammenlign estimatene for kvadratroten av 4, 97 og 1e18 med estimatene fra sqrt.

Videoforklaring (9:02)

Løsningsforslag

kvadratrot.m
function retur = kvadratrot(tall)
    x = 1;
    for i = 1:20
       x = x + (tall - x^2)/(2*x);
    end
    retur = x;
end
  • No labels