pengolf Skrevet 19. november 2007 Del Skrevet 19. november 2007 Er bruk av "return" overflødig i Matlab? Jeg har for eksempel programmert denne funksjonen: "function svar = antiterror(nr, liste) svar = false; for i = 1:length(liste) if (nr == liste(i)) svar = true; return; end end end" Blir det det samme som: "function svar = antiterror(nr, liste) svar = false; for i = 1:length(liste) if (nr == liste(i)) svar = true; end end end " ? Lenke til kommentar
sim Skrevet 20. november 2007 Del Skrevet 20. november 2007 Den er kanskje overflødig i sammenhengen du bruker den. Sannsynligvis kan man klare å løse de fleste oppgavene uten bruk av return-statement i funksjoner. Bruken av return-statementen kan være grei for å gjøre koden lettere å lese. Se på dette eksempelet (tar utgangspunkt i antiterror-funksjonen din. function svar = antiterror(nr, liste) a = length(liste); if (a == 0) svar = false; return else for i = 1:a if (nr == liste(i)) svar = true; return end end end end Bruken av return kan i beste tilfelle spare deg for en del arbeid, men i verste tilfelle vil kjøretiden være lik i både min og din algoritme. Jeg er ingen guru i matlab, så du bør kanskje ta dette med en klype salt. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå