Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

Hva er ineffektivt med funksjonen som står i filen under? Hvordan kan den forbedres?

Code Block
titlefib.m
function retur = fib(n)
    retur = [0, 1];
    for i = 3:n
        retur(i) = retur(i-1) + retur(i-2);
    end
    retur = retur(1:n);
end 

Videoforklaring (8:21)

Widget Connector
urlhttps://www.youtube.com/watch?v=QHtL02MEO-Q

Svar

Expand
titleHvis du har prøvd selv, trykk her for å se svaret...
Listen retur vokser med ett element for hver iterasjon i løkken. Det fører til mye kopiering av data. Den forbedres hvis man før for-løkken binder retur til en vektor med plass til alle elementene som skal produseres.